datacommsserver/esockserver/inc/ss_nodemessages_flow.h
changeset 0 dfb7c4ff071f
equal deleted inserted replaced
-1:000000000000 0:dfb7c4ff071f
       
     1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of "Eclipse Public License v1.0"
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 // THIS API IS INTERNAL TO NETWORKING AND IS SUBJECT TO CHANGE AND NOT FOR EXTERNAL USE
       
    15 // 
       
    16 //
       
    17 
       
    18 /**
       
    19  @file
       
    20  @internalAll
       
    21 */
       
    22 
       
    23 #ifndef SYMBIAN_NODEMESSAGES_FLOW_H
       
    24 #define SYMBIAN_NODEMESSAGES_FLOW_H
       
    25 
       
    26 namespace ESock
       
    27 {
       
    28 
       
    29 //any new enum added here needs to go into one of the utracedecoder definition files
       
    30 //NEVER INSERT ANYTHING IN HERE ONLY ADD THE PENALTY IS SUDDEN DEATH!
       
    31 class TCFFlow : public TCFDataClient
       
    32 	{
       
    33 private:
       
    34 	enum
       
    35 	{
       
    36 	ECFRejoin                       = 1,
       
    37  	ECFBlock                        = 2,
       
    38  	ECFUnBlock                      = 3
       
    39 	};
       
    40 
       
    41 protected:
       
    42 	TCFControlProvider& iControlProvider;
       
    43 
       
    44 public:
       
    45     enum { ERealmId = 0x10285F45 }; //UID allocated on 4/6/08 from KUidNodeMessageRealms
       
    46     /*==========================================================================
       
    47     <<Keys:>>
       
    48     [Name]:      <messagename>
       
    49     [Semantics]: Message semantics
       
    50 
       
    51     [Type]:      Request for <responsemsg>|Response to <requestmsg>|Notification/[Peerless]
       
    52                  Where:
       
    53                  Request      - request to perform an action. Sender should expect <responsemsg>
       
    54                                 to ackowledge the completion of the action.
       
    55                  Response     - acknowledgement that the previous request is now completed.
       
    56                  Notification - a one-off message flagging an event.
       
    57                  Peerless     - the message is peerless, i.e.: the sender doesn't have to
       
    58                                 be the recipient's client.
       
    59     [Fallible]:  Yes|No
       
    60                  Only applicable to requests and denotes whether the request can fail or not,
       
    61                  or, in other words, whether the request can be completed to with TError.
       
    62 
       
    63     [Structure]:
       
    64     Every message defined in this realm has at least:
       
    65     param        iSender      - the message sender
       
    66     param        iActivityId  - depending on the message type:
       
    67                  Request      - the activity id the response should be addressed to.
       
    68                                 Request senders fill up this param to match the response
       
    69                                 with the local activity. Activity id on the sender side
       
    70                                 should uniquelly identify the activity expecting the response.
       
    71                  Response     - the activity on the recipient side expecting this response.
       
    72                                 the activityid to put here has been previously conveyed
       
    73                                 with the request.
       
    74                  Notification - ignored.
       
    75     ===========================================================================*/
       
    76 
       
    77     /*==========================================================================
       
    78     [Name]:      TRejoin
       
    79     [Semantics]: Notification about a new control provider. Existing control provider has
       
    80                  typically migrated the recipient to a new control provider. The recpient
       
    81                  should quietly change its control provider reference.
       
    82 
       
    83     [Type]:      Notification
       
    84 
       
    85     [Structure]:
       
    86     param:       iNodeId - the new control provider.
       
    87     ===========================================================================*/
       
    88     typedef Messages::TMessageSigNodeId<ECFRejoin, TCFFlow::ERealmId> TRejoin;
       
    89 
       
    90     /*==========================================================================
       
    91     [Name]:      TBlock
       
    92     [Semantics]: Flow control. Sent to a dataclient to request a temporary stop.
       
    93                  Dataclients performs best effort flow control. This is NOT SUPPORTED
       
    94                  as standard, please check the approprate flow before using this messsage
       
    95 
       
    96     [Type]:      Notification.
       
    97     [Fallible]:  No.
       
    98 
       
    99     [Structure]:
       
   100     ===========================================================================*/
       
   101     typedef Messages::TMessageSigVoid<ECFBlock, TCFFlow::ERealmId> TBlock;
       
   102 
       
   103     /*==========================================================================
       
   104     [Name]:      TUnBlock
       
   105     [Semantics]: Flow control. Opposite of TBlock. Again this is NOT SUPPORTED
       
   106     			 as standard by all flows.
       
   107 
       
   108     [Type]:      Notification.
       
   109     [Fallible]:  No.
       
   110 
       
   111     [Structure]:
       
   112     ===========================================================================*/
       
   113     typedef Messages::TMessageSigVoid<ECFUnBlock, TCFFlow::ERealmId> TUnBlock;
       
   114 	};
       
   115 
       
   116 } //namespace esock
       
   117 
       
   118 #endif
       
   119 //SYMBIAN_NODEMESSAGES_FLOW_H
       
   120