diff -r 000000000000 -r 4e1aa6a622a0 accessoryservices/accessoryserver/inc/ASYProxy/ASYProxyAsyHandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/accessoryservices/accessoryserver/inc/ASYProxy/ASYProxyAsyHandler.h Tue Feb 02 00:53:00 2010 +0200 @@ -0,0 +1,164 @@ +/* +* Copyright (c) 2002-2004 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: Handler for ASY instance +* +*/ + + +#ifndef CASYPROXYASYHANDLER_H +#define CASYPROXYASYHANDLER_H + +// INCLUDES +#include "ASYProxyMainService.h" +#include "ASYProxy.h" +#include +#include +#include +#include +#include + +// CONSTANTS + +// MACROS + +// DATA TYPES + +// FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS + +// CLASS DECLARATION + +/** +* Handler for ASY instance +* One handler exists for each ASY +* Loads ASY into the new sub thread. +* +* @lib ASYProxy.dll +* @since S60 3.1 +*/ +class CASYProxyASYHandler : public CBase + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CASYProxyASYHandler* NewL( + CASYProxy* aASYProxy, + const TInt aIndex, + const TUid aHandlerUid, + const CImplementationInformation& aImplementationInformation ); + + /** + * Destructor. + */ + virtual ~CASYProxyASYHandler(); + + public: // New functions + + /** + * Sets ASY's state. + * @since S60 3.1 + * @param aASYState State to be set for ASY + * @return void + */ + void UpdateASYStateL( TASYProxyASYState aASYState ); + + /** + * Gets the current status of ASY. + * @since S60 3.1 + * @param void + * @return Current status of ASY + */ + TASYProxyASYState CurrentState() const; + + /** + * Gets the index of ASY. + * @since S60 3.1 + * @param void + * @return Index of this ASY + */ + TInt Index() const; + + public: // Functions from base classes + + protected: // New functions + + protected: // Functions from base classes + + private: + + /** + * C++ default constructor. + */ + CASYProxyASYHandler( + CASYProxy* aASYProxy, + const TInt aIndex, + const TUid aHandlerUid, + const CImplementationInformation& aImplementationInformation ); + + /** + * By default Symbian 2nd phase constructor is private. + */ + void ConstructL(); + + void SetMemoryValues(); + TInt ReadMemoryItem( const TDesC8& aOpaqData, const TDesC8& aMemKey ); + void LoadASYL(); + + public: // Data + + protected: // Data + + private: // Data + + // Pointer to the main service of ASY + CASYProxyMainService* iASYServiceMain; // Owned + + // Implementation uid of ASYCommandHandlerBase -ASY. + TUid iHandlerUid; + + // Pointer to ASYProxy. + CASYProxy* iASYProxy; // Not owned + + // Current status of ASY. + TASYProxyASYState iASYState; + + // Static information about the ASY. + CImplementationInformation* iImplementationInformation; + + // Zero based index of this ASY in array of handlers. + TInt iIndex; + + // ASY's thread heap size + TInt iHeapValue; + + // ASY's thread stack size + TInt iStackValue; + + + public: // Friend classes + + friend const CImplementationInformation* CASYProxy::ASYInfo( TInt aIndex ) const; + + protected: // Friend classes + + private: // Friend classes + + }; + +#endif // CASYPROXYASYHANDLER_H + +// End of File