adaptationlayer/modematadaptation/modematcontroller_exe/inc/cmodematsrv.h
author mikaruus
Tue, 19 Oct 2010 13:16:20 +0300
changeset 9 8486d82aef45
parent 8 6295dc2169f3
permissions -rw-r--r--
modemadaptation release 2010wk40
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
     1
/*
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
     3
* All rights reserved.
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
     8
*
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
     9
* Initial Contributors:
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    11
*
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    12
* Contributors:
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    13
* 
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    14
* Description: 
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    15
*
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    16
*/
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    17
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    18
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    19
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    20
#ifndef CMODEMATSRV_H
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    21
#define CMODEMATSRV_H
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    22
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    23
#include <e32svr.h>
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    24
#include "cmodemathandler.h"  //KMaxDteIdCount
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    25
#include "modemattrace.h"
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    26
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    27
const TUint8 EAtCmd = 0;
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    28
const TUint8 EGetNvramStatus = 1;
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
    29
const TUint8 KMaxDteCount( 3 );
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    30
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    31
/*
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    32
 * Reference: i_at_modem_fp_3.1.doc (3.5.2)
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    33
 * If the unsolicited data needs to be sent to all of the connected DTE sessions,
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    34
 * AT Modem server would send the unsolicited data indication to the client with
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    35
 * the dte id as 0xFF.  The 0xFF value for the DTE id is reserved for the
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    36
 * unsolicited data indication.
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    37
*/
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    38
const TUint8 KUnsolicitedDataDteId = 0xff;  
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
    39
const TUint8 KInitialValue = 0xff;
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    40
const TInt KATModemCommandArgumentIndex = 0;
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    41
const TInt KATModemResponseArgumentIndex = 1;
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    42
const TInt KATModemUnsolicitedDataIndex = 0;
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    43
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    44
_LIT8( KEmptyString, "");
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    45
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
    46
#define KMaxBufferLength 1024
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
    47
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    48
class CModemAtSession;
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    49
class CAtMessage;
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    50
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
    51
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
    52
class TDteInfo
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
    53
{
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
    54
public:
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
    55
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
    56
    TUint8 iDevId;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
    57
    TUint8 iObjId;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
    58
    CModemAtSession* iSession;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
    59
};
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
    60
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
    61
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    62
/**
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    63
*  CModemAtSrv server core class. CModemAtsrc creates/deletes sessions. Dte-ids are allocated
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    64
*  by CmodemAtSrv.
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    65
*/
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    66
NONSHARABLE_CLASS( CModemAtSrv ) : public CPolicyServer
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    67
    {
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    68
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    69
public:
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    70
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    71
    /**
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    72
     * Two-phased constructor.
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    73
     */
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    74
    static CModemAtSrv* NewLC();
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    75
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    76
    /**
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    77
     * Destructor.
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    78
     */
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    79
    ~CModemAtSrv();
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    80
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    81
    /**
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    82
     * When session is closed, this function is called.   
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    83
     * @param aSession Reference to the session
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    84
     */    
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    85
    void ClientClosed( CModemAtSession* aSession );
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    86
    
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    87
    /**
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    88
     * Session count  
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    89
     * @return Number of sessions open
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    90
     */ 
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    91
    TInt SessionCount();
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 0
diff changeset
    92
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    93
    /**
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    94
     * Connect session to the modem  
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    95
     * @param CModemAtSession* aSession Pointer to the session
8
6295dc2169f3 New release based on our 2010wk15 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
    96
     * @param TATPluginInterface aPluginType Atext or common plugin
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    97
     * @return Connection status: KErrNone, KErrAlreadyExists
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
    98
     */    
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
    99
    TInt ConnectToModemL( CModemAtSession* aSession, TATPluginInterface aPluginType);
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 0
diff changeset
   100
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   101
    /**
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   102
     * HandleSignalInd handles AT_MODEM_SIGNAL_IND and notifying ATV, ATQ and ATE changes.
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   103
     * @param aDteId Device Terminal ID
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   104
     * @param aCompleteCode Change in V, Q or E is completed to common plugin.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   105
     */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   106
    void HandleSignalInd( const TUint8 aDteId, const TInt aCompleteCode );
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   107
    /**
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   108
     * HandleUnsolicitedData 
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   109
     * @param aDteId Device Terminal ID
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   110
     * @param aData Descriptor data
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   111
     */ 
8
6295dc2169f3 New release based on our 2010wk15 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   112
    void HandleUnsolicitedData( const TUint8 aDteId, const TDesC8& aData );
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   113
    /**
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   114
     * HandleIntermediateDataInd
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   115
     * @param aDteId Device Terminal ID
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   116
     * @param aPluginType Plugin type
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   117
     * @param aResponse Response buffer
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   118
     * @param aCommand Command buffer
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   119
     */ 
8
6295dc2169f3 New release based on our 2010wk15 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   120
    void HandleIntermediateDataInd( const TUint8 aDteId, const TATPluginInterface aPluginType, const TDesC8& aResponse, const TUint8 aCommand );
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   121
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   122
    /**
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   123
     * HandleATResponse
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   124
     * @param aDteId Device Terminal ID
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   125
     * @param aResponse Response buffer
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   126
     */ 
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   127
    void HandleATResponse( 
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   128
        const TUint8 aDteId, 
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   129
        CModemAtHandler* aHandler,
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   130
        const TDesC8& aResponse, 
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   131
        const TUint8 aCommand );
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   132
    
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   133
    /**
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   134
     * HandleCommandModeChange
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   135
     * @param aDteId dte id which mode is changed
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   136
     * @param aMode Command mode 0 or data mode 1
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   137
     */ 
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   138
    void HandleCommandModeChange( TUint8 aDteId, TCommandMode aMode );
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   139
    
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   140
    /**
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   141
     * AddToSendFifo
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   142
     * @param aPluginType Plugin type
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   143
     * @param aMessage RMessage2 container class
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   144
     */ 
8
6295dc2169f3 New release based on our 2010wk15 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   145
    void AddToSendFifo( const TATPluginInterface aPluginType, CAtMessage* aMessage );
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   146
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   147
    /**
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   148
     * RemoveFirstFromSendFifo 
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   149
     */ 
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   150
    void RemoveFirstFromSendFifo();
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   151
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   152
    /**
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   153
     * SendNextFromFifo  
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   154
     */ 
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   155
    void SendNextFromFifo();
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   156
    
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   157
    /**
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   158
     * CancelFifoRequests
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   159
     * @param aSession Session class pointer
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   160
     */ 
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   161
    void CancelFifoRequests( const CModemAtSession* aSession );
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   162
    
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   163
    /**
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   164
     * RemovePipe
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   165
     * @param aHandler pointer to message handler
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   166
     */ 
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   167
    void RemovePipe( CModemAtHandler* aHandler );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   168
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   169
    /**
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   170
     *  Sets DteID for this session
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   171
     *  @param aDteId DteId
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   172
     *  @param aConnectionError error
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   173
     */ 
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   174
    void SetDteIdAndConnect( const TUint8 aDteId, const TInt aConnectionError );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   175
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   176
    /**
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   177
     *  Check if pipe is in data mode
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   178
     *  @param CModemAtHandler* aHandler
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   179
     *  @return True, if pipe is in datamode
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   180
     */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   181
    TBool IsPipeInDataMode( CModemAtHandler* aHandler );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   182
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   183
    /**
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   184
     *  Check if text message mode is on
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   185
     *  @param aHandler pointer to message handler
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   186
     *  @return ETrue, if +CMGS or +CMGS command has been received
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   187
     */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   188
    TBool IsTextMessageMode( CModemAtHandler* aHandler );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   189
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   190
    /**
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   191
     *  Peek if AT command is for sending text messages or if it's reply
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   192
     *  needs to be notified to ATEXT. This will reduce ISI message overhead, otherwise
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   193
     *  AT&V command would be needed every time when V, Q or E setting is changed.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   194
     *  @param CModemAtHandler* aHandler
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   195
     *  @param TDes8& aCmd
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   196
     */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   197
    void PeekAtCommand( CModemAtHandler* aHandler, TDes8& aCmd );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   198
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   199
    /**
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   200
     *  Check if echo has been notified to common plug-in.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   201
     *  @return ETrue or EFalse.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   202
     */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   203
    TBool IsEchoNotified( const TUint8 aEchoValue );
8
6295dc2169f3 New release based on our 2010wk15 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   204
6295dc2169f3 New release based on our 2010wk15 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   205
    /**
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   206
     *  Check if V, Q or E command is ongoing, to handle AT_MODEM_SIGNAL_IND correctly.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   207
     *  @return ETrue or EFalse.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   208
     */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   209
    TBool IsSettingQueryOngoing();
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   210
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   211
     /**
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   212
     *  Check if there is unsolicited data available in buffer, before there are active requests.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   213
     *  @return ETrue or EFalse.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   214
     */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   215
    TBool IsUnsolicitedDataInBuffer();
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   216
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   217
    /**
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   218
     *  Get unsolicited data available in buffer, before there are active requests.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   219
     *  @return ETrue or EFalse.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   220
     */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   221
    void GetUnsolicitedDataInBuffer( TDes8& aData );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   222
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   223
    /**
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   224
     *  Reset unsolicited data in temporary buffer.
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   225
     */    
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   226
    void ResetUnsolicitedDataInBuffer();
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   227
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   228
     /**
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   229
     *  Stores device info so that it's available when
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   230
     *  plugin for the device is created 
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   231
     *  @param TUint8 aDevId
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   232
     *  @param TUint8 aObjId
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   233
     */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   234
    void AddDevice( TUint8 aDevId, TUint8 aObjId );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   235
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   236
     /**
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   237
     *  Remove device info
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   238
     *  @param TUint8 aDevId
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   239
     *  @param TUint8 aObjId
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   240
     */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   241
    void RemoveDevice( TUint8 aDevId, TUint8 aObjId );
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   242
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   243
     /**
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   244
     *  calculates number of different DTE's connected
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   245
     *  @return number of dte's conntected
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   246
     */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   247
    TUint8 GetDteCount();
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   248
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   249
private:
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   250
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   251
    /**
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   252
     * Creates a new session to client
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   253
     *
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   254
     * @param aVersion the version
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   255
     * @param aMessage not used
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   256
     * @return The new created session
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   257
     */
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   258
    CSession2* NewSessionL( const TVersion& aVersion,
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   259
                            const RMessage2& aMessage ) const;
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   260
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   261
    /**
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   262
     * Constructor
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   263
     *
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   264
     * @param aPriority This AO's priority
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   265
     */
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   266
    CModemAtSrv( TInt aPriority );
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   267
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   268
    /**
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   269
     * Two-Phase constructor
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   270
     */
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   271
    void ConstructL();
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   272
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   273
    /**
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   274
     * Gets free ISC channel id
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   275
     *
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   276
     * @param aChannel free channel id is inserted to this param
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   277
     * @return TInt KErrNone if free channel found, otherwise KErrNotFound
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   278
     */
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   279
    TInt GetFreeChannelId( TUint8& aChannel );
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   280
    
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   281
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   282
private:  // data
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   283
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   284
    RPointerArray<CModemAtSession> iSessions;       //Sessions from R-interface
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   285
    RPointerArray<CAtMessage> iAtMessageArray;
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   286
    CModemAtHandler* iHandler;
8
6295dc2169f3 New release based on our 2010wk15 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 5
diff changeset
   287
    TUint8 iDteId;
9
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   288
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   289
    TUint8 iEcho;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   290
    TUint8 iEchoNotified;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   291
    TBool  iEchoQueryIsOngoing;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   292
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   293
    TUint8 iVerbose;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   294
    TUint8 iVerboseNotified;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   295
    TBool  iVerboseQueryIsOngoing;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   296
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   297
    TUint8 iQuiet;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   298
    TUint8 iQuietNotified;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   299
    TBool  iQuietQueryIsOngoing;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   300
    
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   301
    TUint8 iCarriageReturn;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   302
    TBool  iCarriageReturnFound;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   303
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   304
    TBuf8<KMaxBufferLength> iTemporaryUnsolicitedData;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   305
    RArray<TDteInfo> iDteInfo;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   306
    TBuf8<KMaxDteCount> iFreeChannels;
8486d82aef45 modemadaptation release 2010wk40
mikaruus
parents: 8
diff changeset
   307
  
0
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   308
    };
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   309
63b37f68c1ce First Contribution. Vanilla as it came from Nokia
<dalarub>
parents:
diff changeset
   310
#endif  // CMODEMATSRV_H
5
8ccc39f9d787 New release based on our 2010wk02 release
mikaruus <mika.a.ruuskanen@nokia.com>
parents: 0
diff changeset
   311