--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/accessoryservices/accessoryserver/inc/ASYProxy/ASYProxy.h Tue Feb 02 00:53:00 2010 +0200
@@ -0,0 +1,193 @@
+/*
+* 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: Polymorphic interface to Accessory Server
+*
+*/
+
+
+#ifndef CASYPROXY_H
+#define CASYPROXY_H
+
+// INCLUDES
+#include "AsyProxyAPI.h"
+#include "ASYProxyAsyLoader.h"
+#include <e32svr.h>
+#include <e32base.h>
+
+// CONSTANTS
+
+// MACROS
+
+// DATA TYPES
+
+// FUNCTION PROTOTYPES
+
+// FORWARD DECLARATIONS
+
+// CLASS DECLARATION
+class CASYProxyASYHandler;
+
+/**
+* Provides polymorphic interface to Accessory Server
+* for the module construction.
+*
+* @lib ASYProxy.dll
+* @since S60 3.1
+*/
+class CASYProxy : public CASYProxyAPI
+ {
+ public: // Constructors and destructor
+
+ /**
+ * C++ default constructor.
+ */
+ CASYProxy();
+
+ /**
+ * Destructor.
+ */
+ virtual ~CASYProxy();
+
+ public: // New functions
+
+ /**
+ * Symbian 2nd phase constructor.
+ */
+ void ConstructL();
+
+ /**
+ * Creates and initializes loading objects.
+ * @since S60 3.1
+ * @param aAccServerObserver Observer class for call back methods.
+ * @return void
+ */
+ void InitializeL( MASYProxyObserver* aAccServerObserver );
+
+ /**
+ * Begins to load ASYs.
+ * @since S60 3.1
+ * @param void
+ * @return void
+ */
+ void LoadASYs();
+
+ /**
+ * Gets static information about ASY.
+ * @since S60 3.1
+ * @param aIndex Zero based index of ASY.
+ * @return Implementation information.
+ */
+ const CImplementationInformation* ASYInfo( TInt aIndex ) const;
+
+ /**
+ * Gets dynamic information about ASY.
+ * @since S60 3.1
+ * @param aIndex Zero based index of ASY.
+ * @return ASY's state information.
+ */
+ TASYProxyASYState ASYState( TInt aIndex ) const;
+
+ /**
+ * Gets ASY's count.
+ * @since S60 3.1
+ * @param void
+ * @return Count of ASYs
+ */
+ TInt ASYsCount() const;
+
+ /**
+ * Sets the ASY's count.
+ * @since S60 3.1
+ * @param aCount Count of ASYs.
+ * @return void
+ */
+ void SetASYsCount( TInt aCount );
+
+ /**
+ * Passes ASY loading completion status to Accessory Server
+ * @since S60 3.1
+ * @param aASYIndex Index of ASY to complete
+ * @return void
+ */
+ void LoadCompleteL( const TInt aASYIndex );
+
+ /**
+ * Passes status to Accessory Server if ASYThread kills
+ * @since S60 3.1
+ * @param aASYIndex Index of killing ASY
+ * @return void
+ */
+ void ThreadKills( const TInt aASYIndex );
+
+ /**
+ * Passes time out to Accessory Server
+ * @since S60 3.1
+ * @param void
+ * @return void
+ */
+ void LoadTimeOutL();
+
+ public: // Functions from base classes
+
+ protected: // New functions
+
+ protected: // Functions from base classes
+
+ private:
+
+ /**
+ * Deletes loader object
+ * @since S60 3.1
+ * @param void
+ * @return void
+ */
+ void DestroyLoader();
+
+ public: // Data
+
+ protected: // Data
+
+ private: // Data
+
+ // Array of ASY handler. CASYProxyAsyLoader uses.
+ RPointerArray<CASYProxyASYHandler> iAccHandlerArray;
+
+ // Pointer to loader of ASYs
+ CASYProxyAsyLoader* iAsyLoader; // Owned
+
+ // Pointer to observer class.
+ MASYProxyObserver* iAccServerObserver; // Not owned
+
+ // Total count of "real" ASYs
+ TInt iRealASYsCount;
+
+ // Count of loaded "real" ASYs
+ TInt iLoadedRealASYsCount;
+
+ // Count of loaded ASYs
+ TInt iLoadedASYsCount;
+
+ public: // Friend classes
+
+ friend void CASYProxyAsyLoader::DoIssueRequestL();
+ friend void CASYProxyAsyLoader::ArrangeImplementationsL();
+
+ protected: // Friend classes
+
+ private: // Friend classes
+};
+
+#endif // CASYPROXY_H
+
+// End of File