|
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 // THIS API IS INTERNAL TO NETWORKING AND IS SUBJECT TO CHANGE AND NOT FOR EXTERNAL USE |
|
15 // |
|
16 // |
|
17 |
|
18 /** |
|
19 @file |
|
20 @internalAll |
|
21 */ |
|
22 |
|
23 #ifndef SYMBIAN_NODEMESSAGES_FLOW_H |
|
24 #define SYMBIAN_NODEMESSAGES_FLOW_H |
|
25 |
|
26 namespace ESock |
|
27 { |
|
28 |
|
29 //any new enum added here needs to go into one of the utracedecoder definition files |
|
30 //NEVER INSERT ANYTHING IN HERE ONLY ADD THE PENALTY IS SUDDEN DEATH! |
|
31 class TCFFlow : public TCFDataClient |
|
32 { |
|
33 private: |
|
34 enum |
|
35 { |
|
36 ECFRejoin = 1, |
|
37 ECFBlock = 2, |
|
38 ECFUnBlock = 3 |
|
39 }; |
|
40 |
|
41 protected: |
|
42 TCFControlProvider& iControlProvider; |
|
43 |
|
44 public: |
|
45 enum { ERealmId = 0x10285F45 }; //UID allocated on 4/6/08 from KUidNodeMessageRealms |
|
46 /*========================================================================== |
|
47 <<Keys:>> |
|
48 [Name]: <messagename> |
|
49 [Semantics]: Message semantics |
|
50 |
|
51 [Type]: Request for <responsemsg>|Response to <requestmsg>|Notification/[Peerless] |
|
52 Where: |
|
53 Request - request to perform an action. Sender should expect <responsemsg> |
|
54 to ackowledge the completion of the action. |
|
55 Response - acknowledgement that the previous request is now completed. |
|
56 Notification - a one-off message flagging an event. |
|
57 Peerless - the message is peerless, i.e.: the sender doesn't have to |
|
58 be the recipient's client. |
|
59 [Fallible]: Yes|No |
|
60 Only applicable to requests and denotes whether the request can fail or not, |
|
61 or, in other words, whether the request can be completed to with TError. |
|
62 |
|
63 [Structure]: |
|
64 Every message defined in this realm has at least: |
|
65 param iSender - the message sender |
|
66 param iActivityId - depending on the message type: |
|
67 Request - the activity id the response should be addressed to. |
|
68 Request senders fill up this param to match the response |
|
69 with the local activity. Activity id on the sender side |
|
70 should uniquelly identify the activity expecting the response. |
|
71 Response - the activity on the recipient side expecting this response. |
|
72 the activityid to put here has been previously conveyed |
|
73 with the request. |
|
74 Notification - ignored. |
|
75 ===========================================================================*/ |
|
76 |
|
77 /*========================================================================== |
|
78 [Name]: TRejoin |
|
79 [Semantics]: Notification about a new control provider. Existing control provider has |
|
80 typically migrated the recipient to a new control provider. The recpient |
|
81 should quietly change its control provider reference. |
|
82 |
|
83 [Type]: Notification |
|
84 |
|
85 [Structure]: |
|
86 param: iNodeId - the new control provider. |
|
87 ===========================================================================*/ |
|
88 typedef Messages::TMessageSigNodeId<ECFRejoin, TCFFlow::ERealmId> TRejoin; |
|
89 |
|
90 /*========================================================================== |
|
91 [Name]: TBlock |
|
92 [Semantics]: Flow control. Sent to a dataclient to request a temporary stop. |
|
93 Dataclients performs best effort flow control. This is NOT SUPPORTED |
|
94 as standard, please check the approprate flow before using this messsage |
|
95 |
|
96 [Type]: Notification. |
|
97 [Fallible]: No. |
|
98 |
|
99 [Structure]: |
|
100 ===========================================================================*/ |
|
101 typedef Messages::TMessageSigVoid<ECFBlock, TCFFlow::ERealmId> TBlock; |
|
102 |
|
103 /*========================================================================== |
|
104 [Name]: TUnBlock |
|
105 [Semantics]: Flow control. Opposite of TBlock. Again this is NOT SUPPORTED |
|
106 as standard by all flows. |
|
107 |
|
108 [Type]: Notification. |
|
109 [Fallible]: No. |
|
110 |
|
111 [Structure]: |
|
112 ===========================================================================*/ |
|
113 typedef Messages::TMessageSigVoid<ECFUnBlock, TCFFlow::ERealmId> TUnBlock; |
|
114 }; |
|
115 |
|
116 } //namespace esock |
|
117 |
|
118 #endif |
|
119 //SYMBIAN_NODEMESSAGES_FLOW_H |
|
120 |