diff -r 000000000000 -r 32704c33136d ncdengine/debuglogger/obex/inc/osmobexsender.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ncdengine/debuglogger/obex/inc/osmobexsender.h Tue Jan 26 12:06:03 2010 +0200 @@ -0,0 +1,155 @@ +/* +* Copyright (c) 2006 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: +* +*/ + + +#ifndef __OBJECTEXCHANGETESTOBJECT_H__ +#define __OBJECTEXCHANGETESTOBJECT_H__ + +#include + +class CObjectExchangeClient; + +class MOsmObexSenderObserver +{ +public: + virtual void ObexFileSent() = 0; + virtual void ObexDisconnected( TInt aError, TInt aState ) = 0; +}; + +/*! + @class COsmObexSender + + @discussion Class for testing the asynchronous call API of CObjectExchangeClient + */ +class COsmObexSender : public CActive + { +public: + + enum TOsmConnectionType + { + EOsmConnectionBT, + EOsmConnectionIrDA + }; + + COsmObexSender( MOsmObexSenderObserver& aObserver ); + + +/*! + @function NewL + + @discussion Construct a COsmObexSender + @result a pointer to the created instance of COsmObexSender + */ + static COsmObexSender* NewL( MOsmObexSenderObserver& aObserver ); + +/*! + @function NewLC + + @discussion Construct a COsmObexSender + @result a pointer to the created instance of COsmObexSender + */ + static COsmObexSender* NewLC( MOsmObexSenderObserver& aObserver ); + +/*! + @function ~COsmObexSender + + @discussion Destroy the object and release all memory objects. Close any open sockets + */ + ~COsmObexSender(); + +/*! + @function StartL + + @discussion Start the test procedure + */ + void SendFileL( TOsmConnectionType aConnectionType, const TDesC& aFileName ); + +/*! + @function StopL + + @discussion Stop the test procedure + */ + void StopL(); + + +protected: // from CActive +/*! + @function DoCancel + + @discussion Cancel any outstanding requests + */ + void DoCancel(); + +/*! + @function RunL + + @discussion Respond to an event + */ + void RunL(); + +private: +/*! + @function CMessageClient + + @discussion Construct this object + */ + COsmObexSender(); + +/*! + @function ConstructL + + @discussion Perform second phase construction of this object + */ + void ConstructL(); + +private: + + /*! + @enum TState + + @discussion The state of the active object, determines behaviour within + the RunL method. + @value EWaitingToConnect initial state + @value EConnecting trying to connect to the server + @value ESending Sending data + @value EDisconnecting Disconnecting from the remote + */ + + enum TState + { + EWaitingToConnect, + EConnecting, + ESending, + EDisconnecting + }; + + /*! @var iState the state of the active object, determines behaviour within the RunL method. */ + TState iState; + + /*! @var iObexClient Active object that does file transfer */ + CObjectExchangeClient* iObexClient; + + MOsmObexSenderObserver& iObserver; + + TFileName iFileName; + + }; + + + +#endif // __OBJECTEXCHANGETESTOBJECT_H__ +