diff -r 405674398db4 -r c34f57d8afa7 commsfw_info/commsinfrastructuredocs/ec120changes.txt --- 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 => Messages::TMessageSigVoid - - - 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 => MeshMachine::TStateTransition - - ESock::TState => MeshMachine::TState - - ESock::ECFActivityNull => MeshMachine::KActivityNull - - - CoreStates::TAcceptErrorState<> => MeshMachine::TAcceptErrorState<> - - CoreStates::TNoTag => MeshMachine::TNoTag - - CoreStates::TTag => MeshMachine::TTag - - CoreStates::TDoNothing => MeshMachine::TDoNothing - - CoreStates::TErrorTagOr => MeshMachine::TErrorTagOr - - CoreStates::TRaiseAndClearActivityError => MeshMachine::TRaiseAndClearActivityError - - CoreStates::TClearError => MeshMachine::TClearError - - CoreStates::TRaiseError => MeshMachine::TRaiseError - - CoreStates::TErrorTag => MeshMachine::TErrorTag - - CoreStates::THandleErrorState => MeshMachine::THandleErrorState ? - - CoreStates::TAlwaysAccept => MeshMachine::TAwaitingAny - - CoreStates::TAwaitingMessageState => MeshMachine::TAwaitingMessageState - - 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() arguments have changed: - - PostToClients(MSG&, RNodeInterface::EA) => PostToClients(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(INMSG, RNodeInterface::EData); - => - iContext.Node().PostToClients(TNodeCtxId(iContext.ActivityId(), iContext.NodeId()), INMSG, TClientType(TCFClientType::EData)); - - - RNodeInterface::PostMessage(MSG) => RNodeInterface::PostMessage(TNodeCtxId(activityId, nodeId), MSG); - - - TNodeContext(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(iContext.iSender).NodeCtx(); - iContext.Node().FindActivityById(sendersActivityId) - -- TCFMessageSig replaced with TMessageSig - - ESock::TCFMessageSigNumber TMyMessage => Messages::TMessageSigNumber TMyMessage - -- Retrieval of sender from a message is replaced with retrieval from context: - - MSG.iSender => iContext.iSender - - iContext.iCFMessageSig.iSender.NodePtr() => address_cast(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(address_cast(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 - -