examples/S60CppExamples/ClientServerAsync/client/inc/csasyncrequesthandler.h

00001 /*
00002 * ==============================================================================
00003 *  Name        : csasyncrequesthandler.h
00004 *  Part of     : CSAsync
00005 *  Interface   :
00006 *  Description :
00007 *  Version     :
00008 *
00009 *  Copyright (c) 2004-2006 Nokia Corporation.
00010 *  This material, including documentation and any related
00011 *  computer programs, is protected by copyright controlled by
00012 *  Nokia Corporation.
00013 * ==============================================================================
00014 */
00015 
00016 
00017 #ifndef __CCSASYNCREQUESTHANDLER_H__
00018 #define __CCSASYNCREQUESTHANDLER_H__
00019 
00020 // INCLUDE FILES
00021 #include <e32base.h>
00022 #include "TimeServerSession.h"
00023 
00024 // FORWARD DECLARATIONS
00025 class MAsyncTimeObserver;
00026 
00027 // CLASS DECLARATION
00033 class CCSAsyncRequestHandler : public CActive
00034     {
00035     public: // Constructors and destructors
00045         static CCSAsyncRequestHandler* NewL( MAsyncTimeObserver& aObserver );
00046 
00056         static CCSAsyncRequestHandler* NewLC( MAsyncTimeObserver& aObserver );
00057 
00063         virtual ~CCSAsyncRequestHandler();
00064 
00065     public: // New functions
00066 
00071         void RequestTime();
00072 
00077         void CancelRequest() ;
00078 
00084         TTime Time() const;
00085 
00086     protected: // Functions from base classes
00087 
00093         void RunL();
00094 
00099         void DoCancel();
00100 
00101     private: // Constructors and destructors
00102 
00109         CCSAsyncRequestHandler( MAsyncTimeObserver& aObserver );
00110 
00116         void ConstructL();
00117 
00118     private: // Data
00119 
00123         RTimeServerSession iSession;
00124 
00128         TTime iTime;
00129 
00133         MAsyncTimeObserver& iObserver;
00134     };
00135 
00136 
00137 #endif //__CCSASYNCREQUESTHANDLER_H__
00138 
00139 // End of File

Generated by  doxygen 1.6.2