diff -r 000000000000 -r dfb7c4ff071f datacommsserver/esockserver/inc/ss_nodemessages_mcpr.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/datacommsserver/esockserver/inc/ss_nodemessages_mcpr.h Thu Dec 17 09:22:25 2009 +0200 @@ -0,0 +1,113 @@ +// Copyright (c) 2005-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: +// + +/** + @file + @publishedPartner + @released +*/ + +#ifndef SYMBIAN_NODEMESSAGES_MCPR_H +#define SYMBIAN_NODEMESSAGES_MCPR_H + +#include +#include +#include +#include + +namespace ESock +{ + + +/** +Message interface for meta connection providers +Nodes wishing to implement this interface must implment all message protocols in the interface. + +@publishedPartner +@released +*/ +class TCFMcpr : public TCFServiceProvider, public TCFMobilityProvider, public TCFAvailabilityProvider, public TCFControlProvider + { +private: + enum + { + ECFReConnect = 1, + ECFReConnectComplete = 2, + ECFProviderStatusChangeRegistration = 3, + ECFProviderStatusChange = 4 + }; + +public: + enum { ERealmId = 0x10285F48 }; //UID allocated on 4/6/08 from KUidNodeMessageRealms + + /** + Sent to a peer other than the service provider to register for TProviderStatusChange. + + @li Type: Request for TProviderStatusChange notification. + @li Fallible: Yes + */ + typedef Messages::TMessageSigVoid TProviderStatusChangeRegistration; + + /** + Enumeration of possible values for TProviderStatusChange. + */ + enum TProviderStatus + { + EStopped = 0, + EStarted = 1, + }; + + /** + Equivalent to TStatusChange but currently also used as a notification to peers other + than control clients who requested it via TProviderStatusChangeRegistration. + + The value can be anything from TCFMCpr::TProviderStatus or a custom defined value so + long as it is understood by the MCPR and the control client recieving it. + + @li Type: Notification + @li Fallible: No + + @param iValue new state + */ + typedef Messages::TMessageSigNumber TProviderStatusChange; + + /** + Sent to an MCPR to request reconnection of its layer. + Reconnection combines layer rebinding together with stopping + and starting of the new layer (which can be either make-before-brake + or brake-before-make, however implemented by this activity). + + @li Type: Request + @li Fallible: Yes + + @param iNodeId1 from (service provider provided) + @param iNodeId1 to (service provider provided) + */ + typedef Messages::TMessageSigNodeIdNodeId TReConnect; + + /** + Response to TReConnect signifying that the reconnect has finished. + + @li Type: Response + @li Fallible: No + */ + typedef Messages::TMessageSigVoid TReConnectComplete; + }; + +} //namespace esock + +#endif +//SYMBIAN_NODEMESSAGES_MCPR_H +