--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/datacommsserver/esockserver/esock_messages/inc/mobilitymessagesecom.h Thu Dec 17 09:22:25 2009 +0200
@@ -0,0 +1,194 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#if !defined(MOBILITYMESSAGESECOM_H_INCLUDED)
+#define MOBILITYMESSAGESECOM_H_INCLUDED
+
+#include <e32std.h>
+#include <comms-infras/metadata.h>
+#include <comms-infras/api_ext_msg.h>
+#include <comms-infras/mobilitymessages.h>
+
+class MMobilityProtocolResp;
+
+namespace ESock
+{
+
+const TInt KMobilityMessagesImplementationUid = 0x102732e5;
+
+/** Types of the mobility message interface represented by CMessage.
+@publishedPartner
+@released
+*/
+enum TMobilityMsgImplementations
+ {
+ EMobilityMessageAny = Meta::KNetMetaTypeAny, //Any mobility message type
+ EPreferredCarrierAvailable = 0x00000001,
+ ENewCarrierActive = 0x00000002,
+ };
+
+/**
+ Mobility message factory.
+
+ @internalComponent
+ @released since v9.2
+*/
+class CMobilityMsgFactory : public CBase
+ {
+public:
+ static Meta::SMetaDataECom* NewMessageL(TAny* aParams);
+ };
+
+class CPreferredCarrierAvailable : public CCommsMobilityApiExtRespMsg
+/**
+Preferred carrier available message.
+
+@publishedPartner
+@released
+*/
+ {
+ friend class CMobilityMsgFactory;
+
+public:
+ /**
+ Dispatches the message.
+
+ @param aProtocol The protocol used for dispatching the response message.
+ */
+ void DispatchL(MMobilityProtocolResp& aProtocol);
+
+ /**
+ Creates a new CNewCarrierActive response message
+
+ @return A pointer to a message instance if successful, otherwise leaves with error code.
+ */
+ inline static CPreferredCarrierAvailable* NewL();
+
+ inline TAccessPointInfo OldAPInfo() const;
+ inline void SetOldAPInfo(TAccessPointInfo aAPInfo);
+
+ /**
+ Returns the new access point information.
+
+ @return The value of iNewAP.
+ */
+ inline TAccessPointInfo NewAPInfo() const;
+ /**
+ Sets the new access point information.
+
+ @param aAPInfo The "new access point" information - iNewAP will be set to that value.
+ */
+ inline void SetNewAPInfo(TAccessPointInfo aAPInfo);
+
+ inline TBool IsUpgrade() const;
+ inline void SetIsUpgrade(TBool aIsUpgrade);
+
+ /**
+ Returns the value of the seamless flag.
+
+ @return The value of iIsSeamless.
+ */
+ inline TBool IsSeamless() const;
+
+ /**
+ Sets the new access point information.
+
+ @param aAPInfo The "new access point" information - iNewAP will be set to that value.
+ */
+ inline void SetIsSeamless(TBool aIsSeamless);
+
+ DATA_VTABLE
+
+protected:
+ CPreferredCarrierAvailable();
+
+protected:
+ TAccessPointInfo iOldAP;
+ TAccessPointInfo iNewAP;
+ TBool iIsUpgrade;
+ /** Flag indicating whether this is an seamless message */
+ TBool iIsSeamless;
+ };
+
+class CNewCarrierActive : public CCommsMobilityApiExtRespMsg
+/**
+New carrier active message.
+
+@publishedPartner
+@released
+*/
+ {
+ friend class CMobilityMsgFactory;
+
+public:
+ /**
+ Dispatches the message.
+
+ @param aProtocol The protocol used for dispatching the response message.
+ */
+ void DispatchL(MMobilityProtocolResp& aProtocol);
+
+ /**
+ Creates a new CNewCarrierActive response message
+
+ @return A pointer to a message instance if successful, otherwise leaves with error code.
+ */
+ inline static CNewCarrierActive* NewL();
+
+ /**
+ Returns the new access point information.
+
+ @return The value of iNewAP.
+ */
+ inline TAccessPointInfo NewAPInfo() const;
+
+ /**
+ Sets the new access point information.
+
+ @param aAPInfo The "new access point" information - iNewAP will be set to that value.
+ */
+ inline void SetNewAPInfo(TAccessPointInfo aAPInfo);
+
+ /**
+ Returns the value of the seamless flag.
+
+ @return The value of iIsSeamless.
+ */
+ inline TBool IsSeamless() const;
+
+ /**
+ Sets the new access point information.
+
+ @param aAPInfo The "new access point" information - iNewAP will be set to that value.
+ */
+ inline void SetIsSeamless(TBool aIsSeamless);
+
+ DATA_VTABLE
+
+protected:
+ CNewCarrierActive();
+
+protected:
+ TAccessPointInfo iNewAP;
+ /** Flag indicating whether this is an seamless message */
+ TBool iIsSeamless;
+ };
+
+#include <comms-infras/mobilitymessagesecom.inl>
+
+} //namespace ESock
+
+#endif // MOBILITYMESSAGESECOM_H_INCLUDED
+