18 /** |
18 /** |
19 @file |
19 @file |
20 @internalComponent |
20 @internalComponent |
21 */ |
21 */ |
22 |
22 |
23 |
|
24 #include <comms-infras/ss_log.h> |
23 #include <comms-infras/ss_log.h> |
25 #include <comms-infras/coremcprstates.h> |
24 #include <comms-infras/coremcprstates.h> |
26 #include <comms-infras/coremcpractivities.h> |
25 #include <comms-infras/coremcpractivities.h> |
27 #include <elements/nm_messages_errorrecovery.h> |
26 #include <elements/nm_messages_errorrecovery.h> |
28 #include <comms-infras/mobilitymcpractivities.h> |
27 #include <comms-infras/mobilitymcpractivities.h> |
37 using namespace ESock; |
36 using namespace ESock; |
38 using namespace NetStateMachine; |
37 using namespace NetStateMachine; |
39 using namespace MCprActivities; |
38 using namespace MCprActivities; |
40 using namespace Messages; |
39 using namespace Messages; |
41 using namespace MeshMachine; |
40 using namespace MeshMachine; |
42 |
|
43 |
|
44 |
41 |
45 CDummyMetaConnectionProvider* CDummyMetaConnectionProvider::NewL(CMetaConnectionProviderFactoryBase& aFactory, |
42 CDummyMetaConnectionProvider* CDummyMetaConnectionProvider::NewL(CMetaConnectionProviderFactoryBase& aFactory, |
46 const TProviderInfo& aProviderInfo) |
43 const TProviderInfo& aProviderInfo) |
47 { |
44 { |
48 CDummyMetaConnectionProvider* self = new (ELeave) CDummyMetaConnectionProvider(aFactory,aProviderInfo,MobilityMCprActivities::mobilityMCprActivities::Self()); |
45 CDummyMetaConnectionProvider* self = new (ELeave) CDummyMetaConnectionProvider(aFactory,aProviderInfo,MobilityMCprActivities::mobilityMCprActivities::Self()); |
60 LOG_NODE_CREATE(KDummyMCprTag, CDummyMetaConnectionProvider); |
57 LOG_NODE_CREATE(KDummyMCprTag, CDummyMetaConnectionProvider); |
61 } |
58 } |
62 |
59 |
63 CDummyMetaConnectionProvider::~CDummyMetaConnectionProvider() |
60 CDummyMetaConnectionProvider::~CDummyMetaConnectionProvider() |
64 { |
61 { |
65 delete iPubSubAvailability; |
62 delete iPubSubSubscriber; |
66 delete iPubSubStopTrigger; |
|
67 LOG_NODE_DESTROY(KDummyMCprTag, CDummyMetaConnectionProvider); |
63 LOG_NODE_DESTROY(KDummyMCprTag, CDummyMetaConnectionProvider); |
68 } |
64 } |
69 |
65 |
70 void CDummyMetaConnectionProvider::ConstructL() |
66 void CDummyMetaConnectionProvider::ConstructL() |
71 { |
67 { |
72 CMobilityMetaConnectionProvider::ConstructL(); |
68 CMobilityMetaConnectionProvider::ConstructL(); |
73 iPubSubAvailability = CMCPrPubSubAvailability::NewL(*this, ProviderInfo().APId()); |
69 iPubSubSubscriber = CMCPrPubSubSubscriber::NewL(*this, ProviderInfo().APId()); |
74 iPubSubStopTrigger = CMCPrPubSubStopTrigger::NewL(*this, 0); |
|
75 } |
70 } |
76 |
71 |
77 void CDummyMetaConnectionProvider::ReceivedL(const TRuntimeCtxId& aSender, const TNodeId& aRecipient, TSignatureBase& aMessage) |
72 void CDummyMetaConnectionProvider::ReceivedL(const TRuntimeCtxId& aSender, const TNodeId& aRecipient, TSignatureBase& aMessage) |
78 { |
73 { |
79 __CFLOG_VAR((KDummyMCprTag, KDummyMCprSubTag, _L8("CDummyMetaConnectionProvider %08x:\tReceived() aMessage=%d"), |
74 __CFLOG_VAR((KDummyMCprTag, KDummyMCprSubTag, _L8("CDummyMetaConnectionProvider %08x:\tReceived() aMessage=%d"), |
87 |
82 |
88 void CDummyMetaConnectionProvider::StartAvailabilityMonitoringL(const Messages::TNodeCtxId& aAvailabilityActivity) |
83 void CDummyMetaConnectionProvider::StartAvailabilityMonitoringL(const Messages::TNodeCtxId& aAvailabilityActivity) |
89 { |
84 { |
90 if (!GetFirstClient<TDefaultClientMatchPolicy>(TClientType(TCFClientType::EServProvider))) |
85 if (!GetFirstClient<TDefaultClientMatchPolicy>(TClientType(TCFClientType::EServProvider))) |
91 { |
86 { |
92 ASSERT(iPubSubAvailability!=NULL); |
87 ASSERT(iPubSubSubscriber!=NULL); |
93 RNodeInterface* peer = AddClientL(iPubSubAvailability->Id(), TClientType(TClientType::ERegistrar, TCFClientType::EAvailabilityProvider)); |
88 RNodeInterface* peer = AddClientL(iPubSubSubscriber->Id(), TClientType(TClientType::ERegistrar, TCFClientType::EAvailabilityProvider)); |
94 iPubSubAvailability->StartAvailabilityMonitoringL(aAvailabilityActivity); |
89 iPubSubSubscriber->StartAvailabilityMonitoringL(aAvailabilityActivity); |
95 } |
90 } |
96 } |
91 } |
97 |
92 |
98 void CDummyMetaConnectionProvider::CancelAvailabilityMonitoring() |
93 void CDummyMetaConnectionProvider::CancelAvailabilityMonitoring() |
99 { |
94 { |
100 if (!GetFirstClient<TDefaultClientMatchPolicy>(TClientType(TCFClientType::EServProvider))) |
95 if (!GetFirstClient<TDefaultClientMatchPolicy>(TClientType(TCFClientType::EServProvider))) |
101 { |
96 { |
102 ASSERT(iPubSubAvailability!=NULL); |
97 ASSERT(iPubSubSubscriber!=NULL); |
103 RemoveClient(iPubSubAvailability->Id()); |
98 RemoveClient(iPubSubSubscriber->Id()); |
104 iPubSubAvailability->CancelAvailabilityMonitoring(); |
99 iPubSubSubscriber->CancelAvailabilityMonitoring(); |
105 } |
100 } |
106 } |
101 } |
107 |
|