datacommsserver/esockserver/inc/es_datamon_apiext.h
changeset 0 dfb7c4ff071f
equal deleted inserted replaced
-1:000000000000 0:dfb7c4ff071f
       
     1 /*
       
     2 * Copyright (c) 2006-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 ES_DATAMON_APIEXT_H
       
    26 #define ES_DATAMON_APIEXT_H
       
    27 
       
    28 #include <es_sock.h>
       
    29 #include <comms-infras/es_api_ext.h>
       
    30 
       
    31 /**
       
    32     Data monitoring API extension for client.
       
    33 
       
    34     This class can actually be used by any client, one running an Active Scheduler
       
    35     and one that is not. If an Active Scheduler is not present, clients must wait
       
    36     for the TRequestStatus to change.
       
    37 
       
    38 	@publishedPartner
       
    39 */
       
    40 class RCommsDataMonitoringApiExt : public RCommsApiExtension<EDataMonitoringApiExt>
       
    41 	{
       
    42 public:
       
    43 	IMPORT_C explicit RCommsDataMonitoringApiExt();
       
    44 	IMPORT_C void Close();
       
    45 
       
    46 	IMPORT_C void RequestDataTransferred(TDes8& aResponseEventBuf, TRequestStatus& aStatus);
       
    47 	IMPORT_C void CancelDataTransferredRequest();
       
    48 
       
    49 	IMPORT_C void RequestDataReceivedNotification(TUint32 aDelta, TUint32 aReceivedBytes, TDes8& aResponseEventBuf, TRequestStatus& aStatus);
       
    50 	IMPORT_C void CancelDataReceivedNotificationRequest();
       
    51 
       
    52 	IMPORT_C void RequestDataSentNotification(TUint32 aDelta, TUint32 aSentBytes, TDes8& aResponseEventBuf, TRequestStatus& aStatus);
       
    53 	IMPORT_C void CancelDataSentNotificationRequest();
       
    54 	};
       
    55 
       
    56 /**
       
    57 	Data monitoring API extension protocol.
       
    58 
       
    59 	Implemented by classes who wish to register for data monitoring response messages.
       
    60 
       
    61 	@internalTechnology
       
    62 */
       
    63 class MDataMonitorProtocolResp
       
    64 	{
       
    65 public:
       
    66 	virtual void DataTransferred(TUint32 aReceivedBytes, TUint32 aSentBytes) = 0;
       
    67 	virtual void DataReceivedNotification(TUint32 aReceivedBytes) = 0;
       
    68 	virtual void DataSentNotification(TUint32 aSentBytes) = 0;
       
    69 	};
       
    70 
       
    71 #endif   // ES_DATAMON_APIEXT_H
       
    72