|
1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
4 // under the terms of "Eclipse Public License v1.0" |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // |
|
15 |
|
16 /** |
|
17 @file |
|
18 @publishedPartner |
|
19 @released |
|
20 */ |
|
21 |
|
22 #ifndef SYMBIAN_NODEMESSAGES_MCPR_H |
|
23 #define SYMBIAN_NODEMESSAGES_MCPR_H |
|
24 |
|
25 #include <comms-infras/ss_nodemessages_mobility.h> |
|
26 #include <comms-infras/ss_nodemessages_availability.h> |
|
27 #include <comms-infras/ss_nodemessages_dataclient.h> |
|
28 #include <comms-infras/ss_nodemessages_serviceprovider.h> |
|
29 |
|
30 namespace ESock |
|
31 { |
|
32 |
|
33 |
|
34 /** |
|
35 Message interface for meta connection providers |
|
36 Nodes wishing to implement this interface must implment all message protocols in the interface. |
|
37 |
|
38 @publishedPartner |
|
39 @released |
|
40 */ |
|
41 class TCFMcpr : public TCFServiceProvider, public TCFMobilityProvider, public TCFAvailabilityProvider, public TCFControlProvider |
|
42 { |
|
43 private: |
|
44 enum |
|
45 { |
|
46 ECFReConnect = 1, |
|
47 ECFReConnectComplete = 2, |
|
48 ECFProviderStatusChangeRegistration = 3, |
|
49 ECFProviderStatusChange = 4 |
|
50 }; |
|
51 |
|
52 public: |
|
53 enum { ERealmId = 0x10285F48 }; //UID allocated on 4/6/08 from KUidNodeMessageRealms |
|
54 |
|
55 /** |
|
56 Sent to a peer other than the service provider to register for TProviderStatusChange. |
|
57 |
|
58 @li Type: Request for TProviderStatusChange notification. |
|
59 @li Fallible: Yes |
|
60 */ |
|
61 typedef Messages::TMessageSigVoid<ECFProviderStatusChangeRegistration, TCFMcpr::ERealmId> TProviderStatusChangeRegistration; |
|
62 |
|
63 /** |
|
64 Enumeration of possible values for TProviderStatusChange. |
|
65 */ |
|
66 enum TProviderStatus |
|
67 { |
|
68 EStopped = 0, |
|
69 EStarted = 1, |
|
70 }; |
|
71 |
|
72 /** |
|
73 Equivalent to TStatusChange but currently also used as a notification to peers other |
|
74 than control clients who requested it via TProviderStatusChangeRegistration. |
|
75 |
|
76 The value can be anything from TCFMCpr::TProviderStatus or a custom defined value so |
|
77 long as it is understood by the MCPR and the control client recieving it. |
|
78 |
|
79 @li Type: Notification |
|
80 @li Fallible: No |
|
81 |
|
82 @param iValue new state |
|
83 */ |
|
84 typedef Messages::TMessageSigNumber<ECFProviderStatusChange, TCFMcpr::ERealmId> TProviderStatusChange; |
|
85 |
|
86 /** |
|
87 Sent to an MCPR to request reconnection of its layer. |
|
88 Reconnection combines layer rebinding together with stopping |
|
89 and starting of the new layer (which can be either make-before-brake |
|
90 or brake-before-make, however implemented by this activity). |
|
91 |
|
92 @li Type: Request |
|
93 @li Fallible: Yes |
|
94 |
|
95 @param iNodeId1 from (service provider provided) |
|
96 @param iNodeId1 to (service provider provided) |
|
97 */ |
|
98 typedef Messages::TMessageSigNodeIdNodeId<ECFReConnect, TCFMcpr::ERealmId> TReConnect; |
|
99 |
|
100 /** |
|
101 Response to TReConnect signifying that the reconnect has finished. |
|
102 |
|
103 @li Type: Response |
|
104 @li Fallible: No |
|
105 */ |
|
106 typedef Messages::TMessageSigVoid<ECFReConnectComplete, TCFMcpr::ERealmId> TReConnectComplete; |
|
107 }; |
|
108 |
|
109 } //namespace esock |
|
110 |
|
111 #endif |
|
112 //SYMBIAN_NODEMESSAGES_MCPR_H |
|
113 |