adaptationlayer/modematadaptation/modematcontroller_exe/src/catmessage.cpp
changeset 9 8486d82aef45
parent 8 6295dc2169f3
equal deleted inserted replaced
8:6295dc2169f3 9:8486d82aef45
    17 
    17 
    18 
    18 
    19 #include "modemattrace.h"
    19 #include "modemattrace.h"
    20 #include "cmodematsrv.h"
    20 #include "cmodematsrv.h"
    21 #include "catmessage.h"
    21 #include "catmessage.h"
       
    22 #include "OstTraceDefinitions.h"
       
    23 #ifdef OST_TRACE_COMPILER_IN_USE
       
    24 #include "catmessageTraces.h"
       
    25 #endif
       
    26 
       
    27 const TInt KReplyTypeOther( 3 );
    22 
    28 
    23 CAtMessage::CAtMessage( const TUint8 aMessageType,
    29 CAtMessage::CAtMessage( const TUint8 aMessageType,
    24     CModemAtSession* aSession,
    30     CModemAtSession* aSession,
    25     const RMessage2& aRequest ): 
    31     const RMessage2& aRequest ): 
    26     iMessageType( aMessageType ),
    32     iMessageType( aMessageType ),
    27     iSession( aSession ), 
    33     iSession( aSession ), 
    28     iRequest( aRequest ),
    34     iRequest( aRequest ),
    29     iMessagePtr( NULL, 0)
    35     iMessagePtr( NULL, 0)
    30     {
    36     {
       
    37     OstTraceExt3( TRACE_NORMAL, CATMESSAGE_CATMESSAGE, "CAtMessage::CAtMessage;this=%p;aRequest=%p;aRequest.Handle()=%x", this, &aRequest, (TUint)aRequest.Handle() );
    31     C_TRACE(( _L("CAtMessage::CAtMessage() this: 0x%x, aRequest 0x%x handle: 0x%x"), this, &aRequest, aRequest.Handle() ));
    38     C_TRACE(( _L("CAtMessage::CAtMessage() this: 0x%x, aRequest 0x%x handle: 0x%x"), this, &aRequest, aRequest.Handle() ));
    32     TInt length = aRequest.GetDesLength( KATModemCommandArgumentIndex );
    39     TInt length = aRequest.GetDesLength( KATModemCommandArgumentIndex );
       
    40     OstTraceExt2( TRACE_NORMAL, DUP2_CATMESSAGE_CATMESSAGE, "CAtMessage::CAtMessage;aMessageType=%d;length=%d", aMessageType, length );
    33     C_TRACE((_L("CAtMessage aMessageType: %d at command length: %d"), aMessageType, length ));
    41     C_TRACE((_L("CAtMessage aMessageType: %d at command length: %d"), aMessageType, length ));
    34     iMessage = HBufC8::New( length );
    42     iMessage = HBufC8::New( length );
    35     iMessagePtr.Set( iMessage->Des() );
    43     iMessagePtr.Set( iMessage->Des() );
    36     TInt err = aRequest.Read( KATModemCommandArgumentIndex, iMessagePtr );
    44     TInt err = aRequest.Read( KATModemCommandArgumentIndex, iMessagePtr );
       
    45     OstTrace1( TRACE_NORMAL, DUP3_CATMESSAGE_CATMESSAGE, "CAtMessage::CAtMessage - aRequest.Read err:;err=%d", err );
    37     C_TRACE((_L("aRequest.Read err: %d"), err ));
    46     C_TRACE((_L("aRequest.Read err: %d"), err ));
    38     if( err != KErrNone )
    47     if( err != KErrNone )
    39         {
    48         {
    40         TRACE_ASSERT_ALWAYS;
    49         TRACE_ASSERT_ALWAYS;
    41         }
    50         }
    42     DUMP_MESSAGE( iMessagePtr );
    51     DUMP_MESSAGE( iMessagePtr );
    43     iRequest.Write( KATModemResponseArgumentIndex, KEmptyString );
    52     iRequest.Write( KATModemResponseArgumentIndex, KEmptyString );
       
    53     OstTrace0( TRACE_NORMAL, DUP4_CATMESSAGE_CATMESSAGE, "CAtMessage::CAtMessage - done" );
    44     C_TRACE(( _L("CAtMessage done") ));
    54     C_TRACE(( _L("CAtMessage done") ));
    45     }
    55     }
    46 
    56 
    47 CAtMessage::~CAtMessage()
    57 CAtMessage::~CAtMessage()
    48     {
    58     {
       
    59     OstTrace0( TRACE_NORMAL, DUP1_CATMESSAGE_CATMESSAGE, "CAtMessage::~CAtMessage" );
    49     C_TRACE (( _L("CAtMessage::~CAtMessage()") ));
    60     C_TRACE (( _L("CAtMessage::~CAtMessage()") ));
    50     if( !iRequest.IsNull() )
    61     if( !iRequest.IsNull() )
    51        {
    62         {
    52        C_TRACE (( _L("CAtMessage::~CAtMessage() !iRequest.IsNull this: 0x%x iRequest: 0x%x handle: 0x%x"), this, &iRequest, iRequest.Handle() ));
    63         OstTraceExt3( TRACE_NORMAL, DUP5_CATMESSAGE_CATMESSAGE, "CAtMessage::~CAtMessage;this=%p;iRequest=%p;iRequest.Handle()=%x", this, &iRequest, (TUint)iRequest.Handle() );
    53        }
    64         C_TRACE (( _L("CAtMessage::~CAtMessage() !iRequest.IsNull this: 0x%x iRequest: 0x%x handle: 0x%x"), this, &iRequest, iRequest.Handle() ));
       
    65         }
    54     if( iMessage )
    66     if( iMessage )
    55     	{
    67     	{
    56       delete iMessage;
    68         delete iMessage;
    57     	iMessage = NULL;
    69     	iMessage = NULL;
    58     	}
    70     	}
    59     }
    71     }
    60 
    72 
    61 void CAtMessage::CancelRequest()
    73 void CAtMessage::CancelRequest()
    62     {
    74     {
       
    75     OstTrace0( TRACE_NORMAL, CATMESSAGE_CANCELREQUEST, "CAtMessage::CancelRequest" );
    63     C_TRACE (( _L("CAtMessage::CancelRequest()") ));
    76     C_TRACE (( _L("CAtMessage::CancelRequest()") ));
    64     if( !iRequest.IsNull() )
    77     if( !iRequest.IsNull() )
    65        {
    78        {
       
    79        OstTraceExt2( TRACE_NORMAL, DUP1_CATMESSAGE_CANCELREQUEST, "CAtMessage::CancelRequest - complete iRequest KErrCancel;iRequest=%p;iRequest.Handle()=%x", &iRequest, (TUint)iRequest.Handle() );
    66        C_TRACE (( _L("CAtMessage::CancelRequest complete iRequest KErrCancel iRequest: 0x%x handle 0x%x"), &iRequest, iRequest.Handle() ));
    80        C_TRACE (( _L("CAtMessage::CancelRequest complete iRequest KErrCancel iRequest: 0x%x handle 0x%x"), &iRequest, iRequest.Handle() ));
    67        iRequest.Complete( KErrCancel );
    81        iRequest.Complete( KErrCancel );
    68        }
    82        }
    69     }
    83     }
    70 
    84 
    71 CModemAtSession* CAtMessage::GetSession() 
    85 CModemAtSession* CAtMessage::GetSession() 
    72     {
    86     {
       
    87     OstTrace1( TRACE_NORMAL, CATMESSAGE_GETSESSION, "CAtMessage::GetSession;iSession=%x", iSession );
    73     C_TRACE (( _L("CAtMessage::GetSession() 0x%x"), &iSession ));
    88     C_TRACE (( _L("CAtMessage::GetSession() 0x%x"), &iSession ));
    74     return iSession;
    89     return iSession;
    75     }
    90     }
    76 
    91 
    77 TPtr8 CAtMessage::GetBuffer() 
    92 TPtr8& CAtMessage::GetBuffer() 
    78     {
    93     {
       
    94     OstTrace0( TRACE_NORMAL, CATMESSAGE_GETBUFFER, "CAtMessage::GetBuffer" );
    79     C_TRACE (( _L("CAtMessage::GetBuffer()")));
    95     C_TRACE (( _L("CAtMessage::GetBuffer()")));
    80     return iMessagePtr;
    96     return iMessagePtr;
    81     }
    97     }
    82 
    98 
    83 TUint8 CAtMessage::GetMessageType() 
    99 TUint8 CAtMessage::GetMessageType() 
    84     {
   100     {
       
   101     OstTrace1( TRACE_NORMAL, CATMESSAGE_GETMESSAGETYPE, "CAtMessage::GetMessageType;iMessageType=%u", iMessageType );
    85     C_TRACE (( _L("CAtMessage::GetMessageType()"), iMessageType ));
   102     C_TRACE (( _L("CAtMessage::GetMessageType()"), iMessageType ));
    86     return iMessageType;
   103     return iMessageType;
    87     }
   104     }
    88 
   105 
    89 void CAtMessage::ReceiveATResponse( const TDesC8& aResponse, TBool aComplete ) 
   106 void CAtMessage::ReceiveATResponse( const TDesC8& aResponse, TBool aComplete, TInt aCompleteCode ) 
    90     {
   107     {
       
   108     //OstTraceExt3( TRACE_NORMAL, CATMESSAGE_RECEIVEATRESPONSE, "CAtMessage::ReceiveATResponse;aResponse=%p;aComplete=%d;aCompleteCode=%d", &aResponse, (TUint)aComplete, aCompleteCode );
       
   109     OstTrace1( TRACE_NORMAL, DUP1_CATMESSAGE_RECEIVEATRESPONSE, "CAtMessage::ReceiveATResponse - ;iMessageType=%d", iMessageType );
    91     C_TRACE (( _L("CAtMessage::ReceiveATResponse( aResponse 0x%x, aComplete %d )"), &aResponse, (TInt)aComplete ));
   110     C_TRACE (( _L("CAtMessage::ReceiveATResponse( aResponse 0x%x, aComplete %d )"), &aResponse, (TInt)aComplete ));
    92     C_TRACE (( _L("CAtMessage::ReceiveATResponse iMessageType: %d"), iMessageType ));
   111     C_TRACE (( _L("CAtMessage::ReceiveATResponse iMessageType: %d, aCompleteCode: %d"), iMessageType, aCompleteCode ));
    93     if( !iRequest.IsNull() )
   112     if( !iRequest.IsNull() )
    94         {
   113         {
       
   114         OstTraceExt2( TRACE_NORMAL, DUP2_CATMESSAGE_RECEIVEATRESPONSE, "CAtMessage::ReceiveATResponse - Writing to iRequest:;iRequest=%p;iRequest.Handle()=%d", &iRequest, (TUint)iRequest.Handle() );
    95         C_TRACE (( _L("CAtMessage::ReceiveATResponse Writing to iRequest: 0x%x handle 0x%x"), &iRequest, iRequest.Handle() ));
   115         C_TRACE (( _L("CAtMessage::ReceiveATResponse Writing to iRequest: 0x%x handle 0x%x"), &iRequest, iRequest.Handle() ));
    96         TInt err = iRequest.Write( KATModemResponseArgumentIndex, aResponse, iRequest.GetDesLength( KATModemResponseArgumentIndex ));
   116         TInt length = iRequest.GetDesMaxLength( KATModemResponseArgumentIndex );
       
   117         HBufC8* intermediateBuffer = HBufC8::New( length );
       
   118         TPtr8 ptr = intermediateBuffer->Des();
       
   119         TInt readErr = iRequest.Read( KATModemResponseArgumentIndex, ptr );
       
   120         TRACE_ASSERT( readErr == KErrNone );
       
   121         if( ptr.Length() > 0 )
       
   122             {
       
   123             OstTrace1( TRACE_NORMAL, DUP3_CATMESSAGE_RECEIVEATRESPONSE, "CAtMessage::ReceiveATResponse - Complete with EReplyTypeOther :;ptr.Length()=%d", ptr.Length() );
       
   124             C_TRACE(( _T("Complete with EReplyTypeOther :%d"), ptr.Length() ));
       
   125             aCompleteCode = KReplyTypeOther;
       
   126             }
       
   127         ptr.Append( aResponse );
       
   128         DUMP_MESSAGE( ptr );
       
   129         TInt err = iRequest.Write( KATModemResponseArgumentIndex, ptr );
    97         TRACE_ASSERT( err == KErrNone );
   130         TRACE_ASSERT( err == KErrNone );
       
   131         delete intermediateBuffer;
       
   132         intermediateBuffer = NULL;
    98         if( aComplete )
   133         if( aComplete )
    99             {
   134             {
       
   135             OstTraceExt4( TRACE_NORMAL, DUP4_CATMESSAGE_RECEIVEATRESPONSE, "CAtMessage::ReceiveATResponse -;completion code=%d;this=%p;iRequest=%p;iRequest.Handle()=%d", err, this, &iRequest, (TUint)iRequest.Handle() );
   100             C_TRACE (( _L("CAtMessage::ReceiveATResponse completing (%d) this: 0x%x iRequest: 0x%x handle: 0x%x"), err, this, &iRequest, iRequest.Handle() ));
   136             C_TRACE (( _L("CAtMessage::ReceiveATResponse completing (%d) this: 0x%x iRequest: 0x%x handle: 0x%x"), err, this, &iRequest, iRequest.Handle() ));
   101             iRequest.Complete( err );
   137             iRequest.Complete( aCompleteCode );
   102             }
   138             }
   103         else
   139         else
   104             {
   140             {
       
   141             OstTrace1( TRACE_NORMAL, DUP5_CATMESSAGE_RECEIVEATRESPONSE, "CAtMessage::ReceiveATResponse - not completing intermediate data yet;err=%d", err );
   105             C_TRACE (( _L("CAtMessage::ReceiveATResponse not completing intermediate data yet(%d)"), err ));
   142             C_TRACE (( _L("CAtMessage::ReceiveATResponse not completing intermediate data yet(%d)"), err ));
   106             }
   143             }
   107         }
   144         }
   108     else
   145     else
   109         {
   146         {