epoc32/include/comms-infras/datamonitormessages.h
branchSymbian3
changeset 4 837f303aceeb
equal deleted inserted replaced
3:e1b950c65cb4 4:837f303aceeb
       
     1 /*
       
     2 * Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 /**
       
    21  @file
       
    22  @internalTechnology
       
    23 */
       
    24 
       
    25 #ifndef DATAMONITORMESSAGES_H
       
    26 #define DATAMONITORMESSAGES_H
       
    27 
       
    28 #include <es_sock.h>
       
    29 //#include <comms-infras/api_ext_msg.h>
       
    30 #include <comms-infras/ss_api_ext.h>
       
    31 #include <comms-infras/metavirtctor.h>
       
    32 
       
    33 class MDataMonitorProtocolResp;
       
    34 
       
    35 namespace ESock
       
    36 {
       
    37 
       
    38 const TInt KDataMonitoringRequestMessagesImplementationUid = 0x102822F5;
       
    39 
       
    40 /**
       
    41 	Information container for this plugin with respect to data monitoring 
       
    42 	request messages.
       
    43 
       
    44 	@internalTechnology
       
    45 */
       
    46 class CDataMonitoringMsgPluginInfo : public CExtItfMsgPluginInfo
       
    47 	{
       
    48 public:
       
    49 	IMPORT_C static CDataMonitoringMsgPluginInfo* NewL(TAny* aParams);
       
    50 	IMPORT_C const TImplementationProxy* ImplementationProxy() const;
       
    51 	IMPORT_C TInt ImplementationProxyTableSize() const;
       
    52 	};
       
    53 
       
    54 /**
       
    55 	Data monitoring response message.
       
    56 	
       
    57 	@internalTechnology
       
    58 */
       
    59 class CCommsDataMonitorApiExtResp : public CCommsApiExtRespMsg
       
    60 	{
       
    61 public:
       
    62 	virtual void DispatchL(MDataMonitorProtocolResp& aProtocol) = 0;
       
    63 	};
       
    64 
       
    65 /**
       
    66 	Data monitoring request message.
       
    67 
       
    68 	@internalTechnology
       
    69 */
       
    70 class TCommsDataMonitorApiExtReq : public TCommsApiExtReqMsg
       
    71 	{
       
    72 	};
       
    73 	
       
    74 /*-------------------------------------------------------
       
    75 	Client -> Server messages
       
    76   -------------------------------------------------------*/
       
    77 
       
    78 /**
       
    79 	Request message requesting the notification of the total volume of data 
       
    80 	transferred in either direction.
       
    81 	
       
    82 	@internalTechnology
       
    83 */
       
    84 class TRequestDataTransferred : public TCommsDataMonitorApiExtReq
       
    85 	{
       
    86 public:	
       
    87 	IMPORT_C void DispatchL(NetInterfaces::TInterfaceControl& aIntfCtrl, const TSubSessionUniqueId& aSubSessionUniqueId, Elements::RResponseMsg& aResponseMsg);
       
    88 
       
    89 	DECLARE_MVIP_CTR(TRequestDataTransferred)
       
    90    
       
    91 	EXPORT_DATA_VTABLE_AND_FN
       
    92 	};
       
    93 
       
    94 /**
       
    95 	Request message requesting the cancellation of notification of the total 
       
    96 	volume of data transferred in either direction.
       
    97 	
       
    98 	@internalTechnology
       
    99 */
       
   100 class TCancelDataTransferredRequest : public TCommsDataMonitorApiExtReq
       
   101 	{
       
   102 public:	
       
   103 	IMPORT_C void DispatchL(NetInterfaces::TInterfaceControl& aIntfCtrl, const TSubSessionUniqueId& aSubSessionUniqueId, Elements::RResponseMsg& aResponseMsg);
       
   104 	
       
   105 	DECLARE_MVIP_CTR(TCancelDataTransferredRequest)
       
   106    
       
   107 	EXPORT_DATA_VTABLE_AND_FN
       
   108 	};
       
   109 
       
   110 /**
       
   111 	Request message requesting notification of the volume of data sent having reached 
       
   112 	or exceeded a specified threshold.
       
   113 	
       
   114 	@internalTechnology
       
   115 */
       
   116 class TRequestDataSentNotification : public TCommsDataMonitorApiExtReq
       
   117    {
       
   118 public:
       
   119   	IMPORT_C void DispatchL(NetInterfaces::TInterfaceControl& aIntfCtrl, const TSubSessionUniqueId& aSubSessionUniqueId, Elements::RResponseMsg& aResponseMsg);
       
   120 	
       
   121 	DECLARE_MVIP_CTR(TRequestDataSentNotification)
       
   122 	
       
   123 	inline TUint32 Delta() const;
       
   124 	inline void SetDelta(TUint32 aDelta);
       
   125    
       
   126 	inline TUint32 SentBytes() const;
       
   127 	inline void SetSentBytes(TUint32 aSentBytes);
       
   128 
       
   129 	EXPORT_DATA_VTABLE_AND_FN
       
   130 
       
   131 protected:	
       
   132 	TUint32 iDelta;
       
   133 	TUint32 iSentBytes;
       
   134    };
       
   135    
       
   136 /**
       
   137 	Request message requesting the cancellation of notification of the volume of 
       
   138 	data sent having reached or exceeded a specified threshold.
       
   139 	
       
   140 	@internalTechnology
       
   141 */
       
   142 class TCancelDataSentNotificationRequest : public TCommsDataMonitorApiExtReq
       
   143 	{
       
   144 public:
       
   145 	IMPORT_C void DispatchL(NetInterfaces::TInterfaceControl& aIntfCtrl, const TSubSessionUniqueId& aSubSessionUniqueId, Elements::RResponseMsg& aResponseMsg);
       
   146 	
       
   147 	DECLARE_MVIP_CTR(TCancelDataSentNotificationRequest)
       
   148 	
       
   149 	EXPORT_DATA_VTABLE_AND_FN
       
   150 	};
       
   151 	
       
   152 /**
       
   153 	Request message requesting notification of volume of data received having reached 
       
   154 	or exceeded a specified threshold.
       
   155 	
       
   156 	@internalTechnology
       
   157 */
       
   158 class TRequestDataReceivedNotification : public TCommsDataMonitorApiExtReq
       
   159 	{
       
   160 public:
       
   161   	IMPORT_C void DispatchL(NetInterfaces::TInterfaceControl& aIntfCtrl, const TSubSessionUniqueId& aSubSessionUniqueId, Elements::RResponseMsg& aResponseMsg);
       
   162 	
       
   163 	DECLARE_MVIP_CTR(TRequestDataReceivedNotification)
       
   164 	
       
   165 	inline TUint32 Delta() const;
       
   166 	inline void SetDelta(TUint32 aDelta);
       
   167    
       
   168 	inline TUint32 ReceivedBytes() const;
       
   169 	inline void SetReceivedBytes(TUint32 aReceivedBytes);
       
   170 
       
   171 	EXPORT_DATA_VTABLE_AND_FN
       
   172 
       
   173 protected:	
       
   174 	TUint32 iDelta;
       
   175 	TUint32 iReceivedBytes;
       
   176 	};
       
   177 
       
   178 /**
       
   179 	Request message requesting the cancellation of notification of the volume of 
       
   180 	data received having reached or exceeded a specified threshold.
       
   181 	
       
   182 	@internalTechnology
       
   183 */
       
   184 class TCancelDataReceivedNotificationRequest : public TCommsDataMonitorApiExtReq
       
   185 	{
       
   186 public:
       
   187 	IMPORT_C void DispatchL(NetInterfaces::TInterfaceControl& aIntfCtrl, const TSubSessionUniqueId& aSubSessionUniqueId, Elements::RResponseMsg& aResponseMsg);
       
   188 	
       
   189 	DECLARE_MVIP_CTR(TCancelDataReceivedNotificationRequest)
       
   190 
       
   191 	EXPORT_DATA_VTABLE_AND_FN
       
   192 	};
       
   193  
       
   194 #include <comms-infras/datamonitormessages.inl>
       
   195 
       
   196 } //namespace ESock
       
   197 
       
   198 #endif   // DATAMONITORMESSAGES_H
       
   199