|
1 Rough notes on converting source to EC120 |
|
2 ----------------------------------------- |
|
3 |
|
4 - Classes have moved namespace and DLL: |
|
5 |
|
6 - ESock::TClientIterBase => Messages::TClientIterBase |
|
7 - ESock::TClientIter<> => Messages::TClientIter<> |
|
8 - ESock::TCFNodeChannelId => Messages::TNodeCtxId |
|
9 - ESock::TDefaultClientMatchPolicy => Messages::TDefaultClientMatchPolicy |
|
10 - ESock::TCFSignatureBase => Messages::TRuntimeCtxId + ESock::TCFSignatureBase (where required) |
|
11 - ESock::RNodeInterface => Messages::RNodeInterface |
|
12 - ESock::TCFESockSignalBase => Messages::TSignalBase |
|
13 - ESock::TCFNodeSignalBase => Messages::TNodeSignal |
|
14 |
|
15 - ESock::TCFMessageSigVoid<ID, REALM> => Messages::TMessageSigVoid<ID, REALM> |
|
16 |
|
17 - ESock::AFactoryObject => Factories::AFactoryObject |
|
18 - ESock::CCommsFactoryBase => Factories::CFactoryBase |
|
19 - ESock::MCommsFactoryQuery => Factories::MFactoryQuery |
|
20 - ESock::TFactoryObjectInfo => Factories::TFactoryObjectInfo |
|
21 |
|
22 - ESock::TCFNodeContextBase => MeshMachine::TNodeContextBase |
|
23 - ESock::TCFNodeContext<> => MeshMachine::TNodeContext<> |
|
24 - ESock::TStateTransition<TCONTEXT> => MeshMachine::TStateTransition<TCONTEXT> |
|
25 - ESock::TState<TCONTEXT> => MeshMachine::TState<TCONTEXT> |
|
26 - ESock::ECFActivityNull => MeshMachine::KActivityNull |
|
27 |
|
28 - CoreStates::TAcceptErrorState<> => MeshMachine::TAcceptErrorState<> |
|
29 - CoreStates::TNoTag => MeshMachine::TNoTag |
|
30 - CoreStates::TTag<T> => MeshMachine::TTag<T> |
|
31 - CoreStates::TDoNothing => MeshMachine::TDoNothing |
|
32 - CoreStates::TErrorTagOr<T> => MeshMachine::TErrorTagOr<T> |
|
33 - CoreStates::TRaiseAndClearActivityError => MeshMachine::TRaiseAndClearActivityError |
|
34 - CoreStates::TClearError => MeshMachine::TClearError |
|
35 - CoreStates::TRaiseError<T> => MeshMachine::TRaiseError<T> |
|
36 - CoreStates::TErrorTag => MeshMachine::TErrorTag |
|
37 - CoreStates::THandleErrorState<STATE> => MeshMachine::THandleErrorState<STATE, CONTEXT> ? |
|
38 - CoreStates::TAlwaysAccept => MeshMachine::TAwaitingAny |
|
39 - CoreStates::TAwaitingMessageState<S> => MeshMachine::TAwaitingMessageState<S> |
|
40 - CoreStates::TNoTagOrErrorTag => MeshMachine::TNoTagOrErrorTag |
|
41 - CoreStates::TRemoveClient => MeshMachine::TRemoveClient |
|
42 - CoreStates::TStoreError => MeshMachine::TStoreError |
|
43 - CoreStates::TAwaitingDestroy => MeshMachine::TAwaitingDestroy |
|
44 - NetStateMachine::KNoTag => MeshMachine::KNoTag |
|
45 |
|
46 - XCFNodePeerId => XNodePeerId |
|
47 |
|
48 - Some message classes have become generic and have moved out of ESock: |
|
49 |
|
50 - TCFMessage::TError => TNodeMessage::TError |
|
51 - TCFMessage::TErrorRecoveryRequest => TNodeMessage::TErrorRecoveryRequest |
|
52 |
|
53 - Iterators use TClientType::TCFClientType: |
|
54 |
|
55 - RNodeInterface::EStarting => TCFClientType::EStarting |
|
56 - RNodeInterface::EData => TCFClientType::EData |
|
57 - RNodeInterface::ESecondary => TCFClientType::ESecondary |
|
58 - RNodeInterface::EServProvider => TCFClientType::EServProvider |
|
59 - RNodeInterface::EActivating => TCFClientType::EActivating |
|
60 |
|
61 - CFNODE_SET_CLIENT_TYPENFLAGS(RNodeInterface::EData, RNodeInterface::ESecondary) |
|
62 => |
|
63 TClientType(TCFClientType::EData, TCFClientType::ESecondary) |
|
64 |
|
65 - CFNODE_SET_CLIENT_TYPENFLAGS(RNodeInterface::EVAL1, RNodeInterface::EVAL2) |
|
66 => |
|
67 TClientType(TCFClientType::EVAL1, TCFClientType::EVAL2) |
|
68 |
|
69 - Messages no longer need to be constructed with sender and activity: |
|
70 - TCFMessage::MSG(const ESock::TCommsId& aSenderId, TUint aActivityId, ...) => TCFMessage::MSG(...) |
|
71 - ESock::TCFSignatureBase(aMessageId, aSenderId, aActivityId) => Messages::TSignatureBase(aMessageId) |
|
72 |
|
73 - PostToClients<T>() arguments have changed: |
|
74 - PostToClients<T>(MSG&, RNodeInterface::EA) => PostToClients<T>(const TNodeCtxId &, MSG&, TClientType(TCFClientType::EA)); |
|
75 |
|
76 - PostToSender() applies to context rather than message: |
|
77 - MSG1.PostToSender(MSG2) => iContext.PostToSender(MSG2) |
|
78 |
|
79 - PostTo() can be simplified to use PostToSender() in some cases: |
|
80 - MSG(iContext.Node()(),iContext.iCFMessageSig.ActivityId(),...).PostTo(iContext.iCFMessageSig.iSender); |
|
81 => |
|
82 iContext.PostToSender(MSG(...)); |
|
83 |
|
84 - MSG::PostTo() replaced with OpenPostMessageClose(): |
|
85 |
|
86 - MSG.PostTo(iNode()); // self |
|
87 => |
|
88 TNodeCtxId us(ActivityId(),iNode.Id()); |
|
89 RClientInterface::OpenPostMessageClose(us, us, MSG()); |
|
90 |
|
91 - MSG.PostTo(iContext.Node()()); |
|
92 => |
|
93 RClientInterface::OpenPostMessageClose(TNodeCtxId(iContext.ActivityId(), iContext.NodeId()), |
|
94 iContext.NodeId(), MSG()); |
|
95 |
|
96 - MSG.PostTo(iContext.Node()()); |
|
97 => |
|
98 RClientInterface::OpenPostMessageClose(iContext.NodeId(), iContext.NodeId(), MSG()); |
|
99 |
|
100 - MSG(const TCommsId* src, ...).PostTo(const TCommsId& dest); |
|
101 => |
|
102 RClientInterface::OpenPostMessageClose(const TRuntimeCtxId& src, const TRuntimeCtxId& dest, MSG()); |
|
103 |
|
104 - TCommsId dest = ServiceProviderL(); |
|
105 TCommsId self = NodeId(); |
|
106 MSG(self, ACTIVITYID).PostTo(dest); |
|
107 => |
|
108 TNodeCtxId us(ACTIVITYID, NodeId()); |
|
109 RClientInterface::OpenPostMessageClose(us, ServiceProviderL(), MSG()); |
|
110 |
|
111 - MSG.PostTo(RNodeInterface&); |
|
112 => |
|
113 RClientInterface::OpenPostMessageClose(Id(), RNodeInterface&, MSG); |
|
114 |
|
115 - MSG.PostTo(self) => iNode.SelfInterface().PostMessage(self, MSG); // ?? |
|
116 |
|
117 - RClientInterface::PostMessage(MSG); |
|
118 => |
|
119 activity.PostRequestTo(RClientInterface&, MSG()); |
|
120 |
|
121 - where a message used to be passed before, now message and runtime/node context are needed: |
|
122 |
|
123 - void f(TMyMessage& aPolicyParam) => void f(const Messages::TRuntimeCtxId& aSender, TMyMessage& aPolicyParam); |
|
124 |
|
125 - INMSG.iSender = iContext.Node()(); |
|
126 INMSG.SetActivity(iContext.iNodeActivity->ActivityId()); |
|
127 iContext.Node().PostToClients<TPolicy>(INMSG, RNodeInterface::EData); |
|
128 => |
|
129 iContext.Node().PostToClients<TPolicy>(TNodeCtxId(iContext.ActivityId(), iContext.NodeId()), INMSG, TClientType(TCFClientType::EData)); |
|
130 |
|
131 - RNodeInterface::PostMessage(MSG) => RNodeInterface::PostMessage(TNodeCtxId(activityId, nodeId), MSG); |
|
132 |
|
133 - TNodeContext<TNODE>(TNODE&, TSignatureBase& aMessage, const TRunTimeCtxId& aSender, const TNodeId& aRecipient, CNodeActivityBase* aNodeActivity = NULL); |
|
134 |
|
135 - on nodes, operator()() is replaced with Id(): |
|
136 - (*this)() => Id() |
|
137 - NODE() => NODE.Id() |
|
138 |
|
139 - iContext.iCFMessageSig.iPeer->PostMessage(MSG); |
|
140 => |
|
141 iContext.PostToSender(MSG); |
|
142 |
|
143 - there are changes to the way activities can be retrieved: |
|
144 - iContext.Node().FindAddressedActivity(iContext.iCFMessageSig) |
|
145 => |
|
146 - TUint sendersActivityId = address_cast<TNodeCtxId>(iContext.iSender).NodeCtx(); |
|
147 iContext.Node().FindActivityById(sendersActivityId) |
|
148 |
|
149 - TCFMessageSig<xxx> replaced with TMessageSig<xxx> |
|
150 - ESock::TCFMessageSigNumber<EMSGID, EREALM> TMyMessage => Messages::TMessageSigNumber<EMSGID, EREALM> TMyMessage |
|
151 |
|
152 - Retrieval of sender from a message is replaced with retrieval from context: |
|
153 - MSG.iSender => iContext.iSender |
|
154 - iContext.iCFMessageSig.iSender.NodePtr() => address_cast<TNodeId>(iContext.iSender).Ptr() |
|
155 |
|
156 - TErrContext:iActivityId => TErrContext:iActivitySigId |
|
157 |
|
158 - TCommsId is replaced with Messages::TNodeId: |
|
159 |
|
160 - TCommsId::NullCommsId() => TNodeId::NullId() |
|
161 - TCommsId::operator()() => TNodeId::Id(); |
|
162 |
|
163 - TRuntimeCtxId sometimes used in place of TCommsId (?) |
|
164 |
|
165 - ReceivedL() method signatures have changed. May need to add User::LeaveIfError(...) to some ReceivedL() routines. |
|
166 |
|
167 - Changes to iContext data member names and methods: |
|
168 - iContext.iCFMessageSig => iContext.iMessage |
|
169 - iContext.iCFMessageSig.iCommsId => iContext.iMessage.iNodeId; |
|
170 - iContext.iCFMessageSig.iPeer => iContext.iPeer |
|
171 - iContext.iCFMessageSig.iSender => iContext.iSender |
|
172 - iContext.Node()() => iContext.NodeId() |
|
173 - iContext.iNode() => iContext.NodeId() |
|
174 |
|
175 - Changes to the way MPlatSecApiExt is retrieved: |
|
176 - MPlatsecApiExt* platsec = iContext.iCFMessageSig.FetchPlatsecApiInterfaceL() |
|
177 => |
|
178 MPlatsecApiExt* platsec = reinterpret_cast<MPlatsecApiExt*>(address_cast<TNodeId>(iContext.iSender).Node().FetchNodeInterfaceL(EPlatsecApiExt)); |
|
179 |
|
180 - Header files have moved location: |
|
181 - ss_factnotify.h => elements/factorynotify.h |
|
182 - comms-infras/sm_core.h => elements/sm_core.h |
|
183 - comms-infras/sm_statetriple.h => elements/sm_statetriple.h |
|
184 - comms-infras/ss_nodestates.h => elements/mm_states.h |
|
185 - comms-infras/ss_nodeactivities.h => elements/mm_activities.h |
|
186 - comms-infras/interfacetable.h => elements/interfacetable.h |
|
187 - comms-infras/cftransport.h => elements/cftransport.h |
|
188 - comms-infras/ss_nodeactivities.h & => comms-infras/ss_common.h (?) |
|
189 comms-infras/ss_nodemessages.h |
|
190 |
|
191 |