324 NODEACTIVITY_END() |
324 NODEACTIVITY_END() |
325 } |
325 } |
326 |
326 |
327 namespace PRDataClientStopActivity |
327 namespace PRDataClientStopActivity |
328 { |
328 { |
329 DECLARE_DEFINE_CUSTOM_NODEACTIVITY(ECFActivityStopDataClient, PRDataClientStop, TCFDataClient::TStop, MeshMachine::CNodeRetryActivity::NewL) |
329 DECLARE_DEFINE_CUSTOM_NODEACTIVITY(ECFActivityStopDataClient, PRDataClientStop, TCFDataClient::TStop, MeshMachine::CPreallocatedNodeRetryActivity::New) |
330 FIRST_NODEACTIVITY_ENTRY(CoreNetStates::TAwaitingDataClientStop, MeshMachine::TNoTag) |
330 FIRST_NODEACTIVITY_ENTRY(CoreNetStates::TAwaitingDataClientStop, MeshMachine::TNoTag) |
331 THROUGH_NODEACTIVITY_ENTRY(KNoTag, PRStates::TProcessDataClientStop, CoreNetStates::TNoTagOrDataClientsToStopBlockedByStarting) |
331 THROUGH_NODEACTIVITY_ENTRY(KNoTag, PRStates::TProcessDataClientStop, CoreNetStates::TNoTagOrDataClientsToStopBlockedByStarting) |
332 |
332 |
333 NODEACTIVITY_ENTRY(CoreNetStates::KDataClientsToStop, CoreNetStates::TStopDataClients, CoreNetStates::TAwaitingDataClientsStopped, MeshMachine::TNoTag) |
333 NODEACTIVITY_ENTRY(CoreNetStates::KDataClientsToStop, CoreNetStates::TStopDataClients, CoreNetStates::TAwaitingDataClientsStopped, MeshMachine::TNoTag) |
334 THROUGH_NODEACTIVITY_ENTRY(KNoTag, MeshMachine::TDoNothing, CoreNetStates::TNoTagOrUnbindOnStop) |
334 THROUGH_NODEACTIVITY_ENTRY(KNoTag, MeshMachine::TDoNothing, CoreNetStates::TNoTagOrUnbindOnStop) |
356 NODEACTIVITY_END() |
356 NODEACTIVITY_END() |
357 } |
357 } |
358 |
358 |
359 namespace PRGoneDownActivity |
359 namespace PRGoneDownActivity |
360 { |
360 { |
361 DECLARE_DEFINE_CUSTOM_NODEACTIVITY(ECFActivityGoneDown, PRGoneDown, TCFControlClient::TGoneDown, CGoneDownActivity::NewL) |
361 DECLARE_DEFINE_CUSTOM_NODEACTIVITY(ECFActivityGoneDown, PRGoneDown, TCFControlClient::TGoneDown, CGoneDownActivity::New) |
362 // Our Service Provider has gone down unexpectedly (we haven't issued a TStop) |
362 // Our Service Provider has gone down unexpectedly (we haven't issued a TStop) |
363 FIRST_NODEACTIVITY_ENTRY(CoreNetStates::TAwaitingGoneDown, MeshMachine::TNoTag) |
363 FIRST_NODEACTIVITY_ENTRY(CoreNetStates::TAwaitingGoneDown, MeshMachine::TNoTag) |
364 THROUGH_NODEACTIVITY_ENTRY(KNoTag, CoreNetStates::TCancelAndCloseZone0ClientExtIfaces, MeshMachine::TNoTag) |
364 THROUGH_NODEACTIVITY_ENTRY(KNoTag, CoreNetStates::TCancelAndCloseZone0ClientExtIfaces, MeshMachine::TNoTag) |
365 NODEACTIVITY_ENTRY(KNoTag, CoreNetStates::TSendClientLeavingRequestToServiceProvider, MeshMachine::TAwaitingLeaveComplete, MeshMachine::TNoTag) |
365 NODEACTIVITY_ENTRY(KNoTag, CoreNetStates::TSendClientLeavingRequestToServiceProvider, MeshMachine::TAwaitingLeaveComplete, MeshMachine::TNoTag) |
366 NODEACTIVITY_ENTRY(KNoTag, CGoneDownActivity::TSendErrorRecoveryReq, MeshMachine::TAwaitingErrorRecoveryResponseOrError, CoreStates::TRetryOrIgnoreOrPropagate) |
366 NODEACTIVITY_ENTRY(KNoTag, CGoneDownActivity::TSendErrorRecoveryReq, MeshMachine::TAwaitingErrorRecoveryResponseOrError, CoreStates::TRetryOrIgnoreOrPropagate) |
2115 //-========================================================= |
2115 //-========================================================= |
2116 // |
2116 // |
2117 //Gone Down Activity |
2117 //Gone Down Activity |
2118 // |
2118 // |
2119 //-========================================================= |
2119 //-========================================================= |
2120 MeshMachine::CNodeActivityBase* CGoneDownActivity::NewL(const MeshMachine::TNodeActivity& aActivitySig, MeshMachine::AMMNodeBase& aNode) |
2120 |
2121 { |
2121 MeshMachine::CNodeActivityBase* CGoneDownActivity::New(const MeshMachine::TNodeActivity& aActivitySig, MeshMachine::AMMNodeBase& aNode) |
2122 CGoneDownActivity* self = new (ELeave) CGoneDownActivity(aActivitySig,aNode); |
2122 { |
2123 return self; |
2123 TAny* space = BorrowPreallocatedSpace(aNode, sizeof(CGoneDownActivity)); |
2124 } |
2124 CGoneDownActivity* self = new (space) CGoneDownActivity(aActivitySig, aNode); |
|
2125 self->AppendPreallocatedActivity(); |
|
2126 return self; |
|
2127 } |
2125 |
2128 |
2126 CGoneDownActivity::CGoneDownActivity(const MeshMachine::TNodeActivity& aActivitySig, MeshMachine::AMMNodeBase& aNode) |
2129 CGoneDownActivity::CGoneDownActivity(const MeshMachine::TNodeActivity& aActivitySig, MeshMachine::AMMNodeBase& aNode) |
2127 : MeshMachine::CNodeRetryActivity(aActivitySig, aNode) |
2130 : CNodeRetryActivity(aActivitySig, aNode), |
2128 { |
2131 APreallocatedOriginators<2>(iOriginators) |
2129 } |
2132 { |
|
2133 } |
|
2134 |
|
2135 void CGoneDownActivity::Destroy() |
|
2136 { |
|
2137 this->~CGoneDownActivity(); //Run the destructor |
|
2138 ReturnPreallocatedSpace(this); |
|
2139 } |
2130 |
2140 |
2131 CGoneDownActivity::~CGoneDownActivity() |
2141 CGoneDownActivity::~CGoneDownActivity() |
2132 { |
2142 { |
2133 //This is a gone down activity. Error mode is its only/natural state |
2143 //This is a gone down activity. Error mode is its only/natural state |
2134 //CGoneDownActivity inherits ultimatelly from CNodeActivityBase, which |
2144 //CGoneDownActivity inherits ultimatelly from CNodeActivityBase, which |
2210 __ASSERT_DEBUG(activity.Error()!=KErrNone, User::Panic(KSpecAssert_ESockCrStaCPRAC, 39)); |
2220 __ASSERT_DEBUG(activity.Error()!=KErrNone, User::Panic(KSpecAssert_ESockCrStaCPRAC, 39)); |
2211 resp.iError = activity.Error(); |
2221 resp.iError = activity.Error(); |
2212 return CoreStates::KPropagate | NetStateMachine::EForward; |
2222 return CoreStates::KPropagate | NetStateMachine::EForward; |
2213 } |
2223 } |
2214 |
2224 |
2215 |
2225 //-========================================================= |
|
2226 // |
|
2227 //Stop Activity |
|
2228 // |
|
2229 //-========================================================= |
|
2230 /* |
|
2231 MeshMachine::CNodeActivityBase* CStopActivity::New(const MeshMachine::TNodeActivity& aActivitySig, MeshMachine::AMMNodeBase& aNode) |
|
2232 { |
|
2233 TAny* space = BorrowPreallocatedSpace(aNode, sizeof(CStopActivity)); |
|
2234 CStopActivity* self = new (space) CStopActivity(aActivitySig, aNode); |
|
2235 self->AppendPreallocatedActivity(); |
|
2236 return self; |
|
2237 } |
|
2238 |
|
2239 CStopActivity::CStopActivity(const MeshMachine::TNodeActivity& aActivitySig, MeshMachine::AMMNodeBase& aNode) |
|
2240 : CNodeRetryActivity(aActivitySig, aNode), |
|
2241 APreallocatedOriginators<10>(iOriginators) |
|
2242 { |
|
2243 } |
|
2244 |
|
2245 void CStopActivity::Destroy() |
|
2246 { |
|
2247 this->~CStopActivity(); //Run the destructor |
|
2248 ReturnPreallocatedSpace(this); |
|
2249 } |
|
2250 |
|
2251 CStopActivity::~CStopActivity() |
|
2252 { |
|
2253 //This is a gone down activity. Error mode is its only/natural state |
|
2254 //CGoneDownActivity inherits ultimatelly from CNodeActivityBase, which |
|
2255 //will attempt to interpret the error mode as a failure to execute (and |
|
2256 //auto respond to orignators), which we don't want. Hence clearing |
|
2257 //the error and allowing 'this' to die peacefully. |
|
2258 SetError(KErrNone); |
|
2259 } |
|
2260 */ |
2216 EXPORT_DEFINE_SMELEMENT(CStartActivity::TAwaitingBindToCompleteOrCancel, NetStateMachine::MState, CStartActivity::TContext) |
2261 EXPORT_DEFINE_SMELEMENT(CStartActivity::TAwaitingBindToCompleteOrCancel, NetStateMachine::MState, CStartActivity::TContext) |
2217 TBool CStartActivity::TAwaitingBindToCompleteOrCancel::Accept() |
2262 TBool CStartActivity::TAwaitingBindToCompleteOrCancel::Accept() |
2218 { |
2263 { |
2219 __ASSERT_DEBUG(iContext.iNodeActivity, User::Panic(KCorePrPanic, KPanicNoActivity)); |
2264 __ASSERT_DEBUG(iContext.iNodeActivity, User::Panic(KCorePrPanic, KPanicNoActivity)); |
2220 if (iContext.iMessage.IsMessage<TEBase::TCancel>()) |
2265 if (iContext.iMessage.IsMessage<TEBase::TCancel>()) |