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 { |