diff -r 000000000000 -r 2f259fa3e83a classicui_plat/avkon_testability_api/inc/TasFixturePluginInterface.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/classicui_plat/avkon_testability_api/inc/TasFixturePluginInterface.h Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,98 @@ +/* +* Copyright (c) 2009 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: Avkon fixture ECom plugin interface definition. +* +*/ + +#ifndef __TASFIXTUREPLUGININTERFACE_H__ +#define __TASFIXTUREPLUGININTERFACE_H__ + +// INCLUDES +#include +#include +#include + +// CONSTANTS +const static TUid KTasFixturePluginInterfaceUid = { 0x20026F7D }; + +// MACROS + +// DATA TYPES + +// FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS + +// CLASS DECLARATION + +/** +* Avkon fixture ECom plugin interface definition class. +* It provides ECom interface instantiation and destruction as well as the +* interface for services it provides. The concrete implementations are +* defined in inherited classes. +*/ +class CTasFixturePluginInterface : public CBase + { + public: + + /** + * @brief Two-phased constructor. + * + * Creates an instance of a CTasFixturePluginInterface implementation. + * ECom framework is used in finding and creating the suitable + * implementation. + * + * @return A new instance of a CTasFixturePluginInterface implementation + */ + static CTasFixturePluginInterface* NewL( TUid aImplementationUid ); + + /** + * @brief Destructor. + */ + virtual ~CTasFixturePluginInterface(); + + /** + * @brief Execute an action on the fixture plugin. + * + * Interface to execute an action with given parameters on the fixture + * plugin. An object can be given through a void pointer. Response is + * send back to the caller. + * + * Abstract function, must be implemented in derived classes. + * + * @return KErrNone if the action was successfully executed, one of + * the Symbian OS error codes if not. + * @param aObject An object to be used in execution + * @param aAction Identification of the desired action + * @param aParams Parameters as key - value pairs + * @param aResponse A response to be send back to the caller + */ + virtual TInt Execute( + TAny* aObject, + TDesC8& aAction, + RHashMap& aParams, + RBuf8& aResponse ) = 0; + + private: // Data + + /// Current instance identifier + TUid iImplementation; + + }; + +#include + +#endif // __TASFIXTUREPLUGININTERFACE_H__ + +// End of File