--- a/commsfw_info/commsinfrastructuredocs/ec120changes.txt Fri Sep 24 15:38:33 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,191 +0,0 @@
-Rough notes on converting source to EC120
------------------------------------------
-
-- Classes have moved namespace and DLL:
-
- - ESock::TClientIterBase => Messages::TClientIterBase
- - ESock::TClientIter<> => Messages::TClientIter<>
- - ESock::TCFNodeChannelId => Messages::TNodeCtxId
- - ESock::TDefaultClientMatchPolicy => Messages::TDefaultClientMatchPolicy
- - ESock::TCFSignatureBase => Messages::TRuntimeCtxId + ESock::TCFSignatureBase (where required)
- - ESock::RNodeInterface => Messages::RNodeInterface
- - ESock::TCFESockSignalBase => Messages::TSignalBase
- - ESock::TCFNodeSignalBase => Messages::TNodeSignal
-
- - ESock::TCFMessageSigVoid<ID, REALM> => Messages::TMessageSigVoid<ID, REALM>
-
- - ESock::AFactoryObject => Factories::AFactoryObject
- - ESock::CCommsFactoryBase => Factories::CFactoryBase
- - ESock::MCommsFactoryQuery => Factories::MFactoryQuery
- - ESock::TFactoryObjectInfo => Factories::TFactoryObjectInfo
-
- - ESock::TCFNodeContextBase => MeshMachine::TNodeContextBase
- - ESock::TCFNodeContext<> => MeshMachine::TNodeContext<>
- - ESock::TStateTransition<TCONTEXT> => MeshMachine::TStateTransition<TCONTEXT>
- - ESock::TState<TCONTEXT> => MeshMachine::TState<TCONTEXT>
- - ESock::ECFActivityNull => MeshMachine::KActivityNull
-
- - CoreStates::TAcceptErrorState<> => MeshMachine::TAcceptErrorState<>
- - CoreStates::TNoTag => MeshMachine::TNoTag
- - CoreStates::TTag<T> => MeshMachine::TTag<T>
- - CoreStates::TDoNothing => MeshMachine::TDoNothing
- - CoreStates::TErrorTagOr<T> => MeshMachine::TErrorTagOr<T>
- - CoreStates::TRaiseAndClearActivityError => MeshMachine::TRaiseAndClearActivityError
- - CoreStates::TClearError => MeshMachine::TClearError
- - CoreStates::TRaiseError<T> => MeshMachine::TRaiseError<T>
- - CoreStates::TErrorTag => MeshMachine::TErrorTag
- - CoreStates::THandleErrorState<STATE> => MeshMachine::THandleErrorState<STATE, CONTEXT> ?
- - CoreStates::TAlwaysAccept => MeshMachine::TAwaitingAny
- - CoreStates::TAwaitingMessageState<S> => MeshMachine::TAwaitingMessageState<S>
- - CoreStates::TNoTagOrErrorTag => MeshMachine::TNoTagOrErrorTag
- - CoreStates::TRemoveClient => MeshMachine::TRemoveClient
- - CoreStates::TStoreError => MeshMachine::TStoreError
- - CoreStates::TAwaitingDestroy => MeshMachine::TAwaitingDestroy
- - NetStateMachine::KNoTag => MeshMachine::KNoTag
-
- - XCFNodePeerId => XNodePeerId
-
-- Some message classes have become generic and have moved out of ESock:
-
- - TCFMessage::TError => TNodeMessage::TError
- - TCFMessage::TErrorRecoveryRequest => TNodeMessage::TErrorRecoveryRequest
-
-- Iterators use TClientType::TCFClientType:
-
- - RNodeInterface::EStarting => TCFClientType::EStarting
- - RNodeInterface::EData => TCFClientType::EData
- - RNodeInterface::ESecondary => TCFClientType::ESecondary
- - RNodeInterface::EServProvider => TCFClientType::EServProvider
- - RNodeInterface::EActivating => TCFClientType::EActivating
-
- - CFNODE_SET_CLIENT_TYPENFLAGS(RNodeInterface::EData, RNodeInterface::ESecondary)
- =>
- TClientType(TCFClientType::EData, TCFClientType::ESecondary)
-
- - CFNODE_SET_CLIENT_TYPENFLAGS(RNodeInterface::EVAL1, RNodeInterface::EVAL2)
- =>
- TClientType(TCFClientType::EVAL1, TCFClientType::EVAL2)
-
-- Messages no longer need to be constructed with sender and activity:
- - TCFMessage::MSG(const ESock::TCommsId& aSenderId, TUint aActivityId, ...) => TCFMessage::MSG(...)
- - ESock::TCFSignatureBase(aMessageId, aSenderId, aActivityId) => Messages::TSignatureBase(aMessageId)
-
-- PostToClients<T>() arguments have changed:
- - PostToClients<T>(MSG&, RNodeInterface::EA) => PostToClients<T>(const TNodeCtxId &, MSG&, TClientType(TCFClientType::EA));
-
-- PostToSender() applies to context rather than message:
- - MSG1.PostToSender(MSG2) => iContext.PostToSender(MSG2)
-
-- PostTo() can be simplified to use PostToSender() in some cases:
- - MSG(iContext.Node()(),iContext.iCFMessageSig.ActivityId(),...).PostTo(iContext.iCFMessageSig.iSender);
- =>
- iContext.PostToSender(MSG(...));
-
-- MSG::PostTo() replaced with OpenPostMessageClose():
-
- - MSG.PostTo(iNode()); // self
- =>
- TNodeCtxId us(ActivityId(),iNode.Id());
- RClientInterface::OpenPostMessageClose(us, us, MSG());
-
- - MSG.PostTo(iContext.Node()());
- =>
- RClientInterface::OpenPostMessageClose(TNodeCtxId(iContext.ActivityId(), iContext.NodeId()),
- iContext.NodeId(), MSG());
-
- - MSG.PostTo(iContext.Node()());
- =>
- RClientInterface::OpenPostMessageClose(iContext.NodeId(), iContext.NodeId(), MSG());
-
- - MSG(const TCommsId* src, ...).PostTo(const TCommsId& dest);
- =>
- RClientInterface::OpenPostMessageClose(const TRuntimeCtxId& src, const TRuntimeCtxId& dest, MSG());
-
- - TCommsId dest = ServiceProviderL();
- TCommsId self = NodeId();
- MSG(self, ACTIVITYID).PostTo(dest);
- =>
- TNodeCtxId us(ACTIVITYID, NodeId());
- RClientInterface::OpenPostMessageClose(us, ServiceProviderL(), MSG());
-
- - MSG.PostTo(RNodeInterface&);
- =>
- RClientInterface::OpenPostMessageClose(Id(), RNodeInterface&, MSG);
-
- - MSG.PostTo(self) => iNode.SelfInterface().PostMessage(self, MSG); // ??
-
-- RClientInterface::PostMessage(MSG);
- =>
- activity.PostRequestTo(RClientInterface&, MSG());
-
-- where a message used to be passed before, now message and runtime/node context are needed:
-
- - void f(TMyMessage& aPolicyParam) => void f(const Messages::TRuntimeCtxId& aSender, TMyMessage& aPolicyParam);
-
- - INMSG.iSender = iContext.Node()();
- INMSG.SetActivity(iContext.iNodeActivity->ActivityId());
- iContext.Node().PostToClients<TPolicy>(INMSG, RNodeInterface::EData);
- =>
- iContext.Node().PostToClients<TPolicy>(TNodeCtxId(iContext.ActivityId(), iContext.NodeId()), INMSG, TClientType(TCFClientType::EData));
-
- - RNodeInterface::PostMessage(MSG) => RNodeInterface::PostMessage(TNodeCtxId(activityId, nodeId), MSG);
-
- - TNodeContext<TNODE>(TNODE&, TSignatureBase& aMessage, const TRunTimeCtxId& aSender, const TNodeId& aRecipient, CNodeActivityBase* aNodeActivity = NULL);
-
-- on nodes, operator()() is replaced with Id():
- - (*this)() => Id()
- - NODE() => NODE.Id()
-
-- iContext.iCFMessageSig.iPeer->PostMessage(MSG);
- =>
- iContext.PostToSender(MSG);
-
-- there are changes to the way activities can be retrieved:
- - iContext.Node().FindAddressedActivity(iContext.iCFMessageSig)
- =>
- - TUint sendersActivityId = address_cast<TNodeCtxId>(iContext.iSender).NodeCtx();
- iContext.Node().FindActivityById(sendersActivityId)
-
-- TCFMessageSig<xxx> replaced with TMessageSig<xxx>
- - ESock::TCFMessageSigNumber<EMSGID, EREALM> TMyMessage => Messages::TMessageSigNumber<EMSGID, EREALM> TMyMessage
-
-- Retrieval of sender from a message is replaced with retrieval from context:
- - MSG.iSender => iContext.iSender
- - iContext.iCFMessageSig.iSender.NodePtr() => address_cast<TNodeId>(iContext.iSender).Ptr()
-
-- TErrContext:iActivityId => TErrContext:iActivitySigId
-
-- TCommsId is replaced with Messages::TNodeId:
-
- - TCommsId::NullCommsId() => TNodeId::NullId()
- - TCommsId::operator()() => TNodeId::Id();
-
- - TRuntimeCtxId sometimes used in place of TCommsId (?)
-
-- ReceivedL() method signatures have changed. May need to add User::LeaveIfError(...) to some ReceivedL() routines.
-
-- Changes to iContext data member names and methods:
- - iContext.iCFMessageSig => iContext.iMessage
- - iContext.iCFMessageSig.iCommsId => iContext.iMessage.iNodeId;
- - iContext.iCFMessageSig.iPeer => iContext.iPeer
- - iContext.iCFMessageSig.iSender => iContext.iSender
- - iContext.Node()() => iContext.NodeId()
- - iContext.iNode() => iContext.NodeId()
-
-- Changes to the way MPlatSecApiExt is retrieved:
- - MPlatsecApiExt* platsec = iContext.iCFMessageSig.FetchPlatsecApiInterfaceL()
- =>
- MPlatsecApiExt* platsec = reinterpret_cast<MPlatsecApiExt*>(address_cast<TNodeId>(iContext.iSender).Node().FetchNodeInterfaceL(EPlatsecApiExt));
-
-- Header files have moved location:
- - ss_factnotify.h => elements/factorynotify.h
- - comms-infras/sm_core.h => elements/sm_core.h
- - comms-infras/sm_statetriple.h => elements/sm_statetriple.h
- - comms-infras/ss_nodestates.h => elements/mm_states.h
- - comms-infras/ss_nodeactivities.h => elements/mm_activities.h
- - comms-infras/interfacetable.h => elements/interfacetable.h
- - comms-infras/cftransport.h => elements/cftransport.h
- - comms-infras/ss_nodeactivities.h & => comms-infras/ss_common.h (?)
- comms-infras/ss_nodemessages.h
-
-