datacommsserver/esockserver/inc/ss_nodemessages_serviceprovider.h
branchRCL_3
changeset 12 8b5d60ce1e94
parent 0 dfb7c4ff071f
equal deleted inserted replaced
11:98a7181d2ce7 12:8b5d60ce1e94
    38 	ECFStop							= 2,
    38 	ECFStop							= 2,
    39 	ECFStarted                      = 3,
    39 	ECFStarted                      = 3,
    40 	ECFStopped               		= 4,
    40 	ECFStopped               		= 4,
    41 	ECFCommsBinderRequest			= 5,
    41 	ECFCommsBinderRequest			= 5,
    42 	ECFCommsBinderResponse			= 6,
    42 	ECFCommsBinderResponse			= 6,
       
    43     ECFCommsBindToComplete          = 7,
    43 	};
    44 	};
    44 protected:
    45 protected:
    45 
    46 
    46 public:
    47 public:
    47     enum { ERealmId = 0x10285F4F }; //UID allocated on 4/6/08 from KUidNodeMessageRealms 
    48     enum { ERealmId = 0x10285F4F }; //UID allocated on 4/6/08 from KUidNodeMessageRealms 
    48     /*==========================================================================
    49     /**
    49     [Name]:      TCommsBinderRequest
    50     A request for a dataclient. The recipient of TCommsBinderRequest has to respond with 
    50     [Semantics]: A request for a dataclient. Recipient has to respond with TCommsBinderResponse carrying
    51     TCommsBinderResponse carrying one of its data clients. Once the requestor (control client) 
    51                  one of its dataclients.
    52     consumes the data client, the consumption is acknowledged back to the servicing node with 
       
    53     TCFServiceProvider::TBindToComplete.            
       
    54     
       
    55     @li Type:      Request for TCommsBinderResponse
       
    56     @li Fallible:  Yes
    52 
    57 
    53     [Type]:      Request for TCommsBinderResponse.
    58     @param iValue  The semantics of this parameter depends on the recipient's plane:
    54     [Fallible]:  Yes.
       
    55 
       
    56     [Structure]:
       
    57     param: iValue       - the semantics of this parameter depends on the recipient's plane:
       
    58                           CPR : - dataclient type, i.e.: EAttachToDefault/ECreateNew/EWaitForIncoming
    59                           CPR : - dataclient type, i.e.: EAttachToDefault/ECreateNew/EWaitForIncoming
    59                           SCPR: - protocol Id - could be left blank when not needed
    60                           SCPR: - protocol Id - could be left blank when not needed
    60                           MCPR: - attach flags (normal/monitor) 0 for start only
    61                           MCPR: - attach flags (normal/monitor) 0 for start only
    61 			iFamilyBundle - parameters to assist the finding/creation of dataclient
    62     @param iFamilyBundle parameters to assist the finding/creation of dataclient
    62     ===========================================================================*/
    63     */
    63     typedef TMessageSigNumberDefaultFamilyBundleDefaultToNull<ECFCommsBinderRequest, TCFServiceProvider::ERealmId> TCommsBinderRequest;
    64     typedef TMessageSigNumberDefaultFamilyBundleDefaultToNull<ECFCommsBinderRequest, TCFServiceProvider::ERealmId> TCommsBinderRequest;
       
    65     
       
    66     /**
       
    67     @li Type:       Request for TCFServiceProvider::TBindToComplete
       
    68                     Response to TCFServiceProvider::TCommsBinderRequest
       
    69     @li Fallible:   Yes
       
    70     @param iNodeId  The requested binder
       
    71     
       
    72     */
       
    73     typedef Messages::TMessageSigNodeId<ECFCommsBinderResponse, TCFServiceProvider::ERealmId> TCommsBinderResponse;   
       
    74     
       
    75     /**
       
    76     Response to TCommsBinderResponse. 
       
    77     @li Type:       Response to TCommsBinderResponse
       
    78     @param iValue   Result of data client consumption
       
    79     */
       
    80     typedef Messages::TMessageSigNumberDefault<ECFCommsBindToComplete, TCFServiceProvider::ERealmId> TBindToComplete;
    64 
    81 
    65     /*==========================================================================
    82     /**
    66     [Name]:      TCommsBinderResponse
    83     Request to start the stack. The recipient should start the stack below it and start its own layer.
    67     [Semantics]: Sent to the control client as a response to TCommsBinderRequest and
    84     @li Type:      Request for TStarted.
    68                  as a request for TBindToComplete
    85     @li Fallible:  Yes
    69 
    86     */
    70     [Type]:      Request for TBindToComplete.
       
    71                  Response to TCommsBinderRequest.
       
    72     [Fallible]:  Yes.
       
    73 
       
    74     [Structure]:
       
    75     param: iNodeId - the requested binder
       
    76     ===========================================================================*/
       
    77 
       
    78     typedef Messages::TMessageSigNodeId<ECFCommsBinderResponse, TCFServiceProvider::ERealmId> TCommsBinderResponse;
       
    79 
       
    80     /*==========================================================================
       
    81     [Name]:      TStart
       
    82     [Semantics]: Request to start the stack. The recipient should start the stack below it
       
    83                  and start its own layer.
       
    84 
       
    85     [Type]:      Request for TStarted.
       
    86     [Fallible]:  Yes.
       
    87 
       
    88     [Structure]:
       
    89     ===========================================================================*/
       
    90     typedef Messages::TMessageSigVoid<ECFStart,   TCFServiceProvider::ERealmId> TStart;
    87     typedef Messages::TMessageSigVoid<ECFStart,   TCFServiceProvider::ERealmId> TStart;
    91     typedef Messages::TMessageSigVoid<ECFStarted, TCFServiceProvider::ERealmId> TStarted;
    88     typedef Messages::TMessageSigVoid<ECFStarted, TCFServiceProvider::ERealmId> TStarted;
    92 
    89 
    93     /*==========================================================================
    90     /**
    94     [Name]:      TStop
    91     Request to stop the stack. The recipient should stop its own layer and subsequently stop the stack below it.
    95     [Semantics]: Request to stop the stack. The recipient should stop its own layer
       
    96                  and subsequently stop the stack below it.
       
    97 
    92 
    98     [Type]:      Request for TStopped.
    93     @li Type:      Request for TStopped.
    99     [Fallible]:  No.
    94     @li Fallible:  No
   100 
    95 
   101     [Structure]:
    96     @param: iValue - stop code (reason).
   102     param: iValue - stop code (reason).
    97     */
   103     ===========================================================================*/
       
   104     typedef Messages::TMessageSigNumber<ECFStop,    TCFServiceProvider::ERealmId> TStop;
    98     typedef Messages::TMessageSigNumber<ECFStop,    TCFServiceProvider::ERealmId> TStop;
   105     typedef Messages::TMessageSigNumber<ECFStopped, TCFServiceProvider::ERealmId> TStopped;
    99     typedef Messages::TMessageSigNumber<ECFStopped, TCFServiceProvider::ERealmId> TStopped;
   106 	};
   100 	};
   107 
   101 
   108 class TCFControlClient : public TCFPeer
   102 class TCFControlClient : public TCFPeer
   115 		};
   109 		};
   116 
   110 
   117 public:
   111 public:
   118     enum { ERealmId = 0x10285F3F }; //UID allocated on 4/6/08 from KUidNodeMessageRealms
   112     enum { ERealmId = 0x10285F3F }; //UID allocated on 4/6/08 from KUidNodeMessageRealms
   119 
   113 
   120     /*==========================================================================
   114     /**
   121     [Name]:      TGoneDown
   115     Notification about the stack below gone down. This is an equivallent of of an 
   122     [Semantics]: Notification about the stack below gone down. This is an equivallent of
   116     unsolicited TStopped (i.e.: the stack below is notionally stopped).
   123                  of an unsolicited TStopped (i.e.: the stack below is notionally stopped).
       
   124 
   117 
   125     [Type]:      Notification
   118     @li Type:      Notification
   126 
   119 
   127     [Structure]:
   120     @param       iValue1 - reason for going down.
   128     param        iValue1 - reason for going down.
       
   129                  iValue2 - Access Point id as provisioned with CAccessPointConfig::ProviderInfo()::APId()
   121                  iValue2 - Access Point id as provisioned with CAccessPointConfig::ProviderInfo()::APId()
   130     ===========================================================================*/
   122     */
   131     typedef Messages::TMessageSigNumberDefaultNumberDefault<ECFGoneDown, TCFControlClient::ERealmId> TGoneDown;
   123     typedef Messages::TMessageSigNumberDefaultNumberDefault<ECFGoneDown, TCFControlClient::ERealmId> TGoneDown;
   132   /*==========================================================================
   124     
   133     [Name]:      TGoneUp
   125     /**
   134     [Semantics]: Notification about the stack below gone up. This is an equivallent of
   126     Notification about the stack below gone up. This is an equivallent of of an unsolicited 
   135                  of an unsolicited TStarted  (i.e.: the stack below is notionally started).
   127     TStarted  (i.e.: the stack below is notionally started).
   136 
   128 
   137     [Type]:      Notification
   129     @li Type:      Notification
   138 
   130 
   139     [Structure]:
   131     */
   140     param        None
       
   141     ===========================================================================*/
       
   142 	typedef Messages::TMessageSigVoid<ECFGoneUp, TCFControlClient::ERealmId> TGoneUp;
   132 	typedef Messages::TMessageSigVoid<ECFGoneUp, TCFControlClient::ERealmId> TGoneUp;
   143 	};
   133 	};
   144 
   134 
   145 } //namespace ESock
   135 } //namespace ESock
   146 
   136