diff -r 000000000000 -r 2f259fa3e83a classicui_plat/avkon_testability_api/inc/TasTraversePluginInterface.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/classicui_plat/avkon_testability_api/inc/TasTraversePluginInterface.h Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,97 @@ +/* +* 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 TAS default control traverse ECOM plugin interface definition. +* +*/ + +#ifndef TASTRAVERSEPLUGININTERFACE_H_ +#define TASTRAVERSEPLUGININTERFACE_H_ + +// INCLUDES +#include +#include +#include + +// FORWARD DECLARATIONS +class CAknTasPluginInterface; + +// CONSTANTS +const static TUid KTasTraversePluginInterfaceUid = { 0x2002A4F2 }; + +// MACROS + +// DATA TYPES + +// FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS +class MTasObject; + +// CLASS DECLARATION + +/** +* Avkon traverse 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 CTasTraversePluginInterface : public CBase + { + public: + + /** + * @brief Two-phased constructor. + * + * Creates an instance of a CTasTraversePluginInterface implementation. + * ECom framework is used in finding and creating the suitable + * implementation by its name. + * + * @return A new instance of a CTasTraversePluginInterface implementation + */ + static CTasTraversePluginInterface* NewL( const TDesC8& aTraverseObjectName, CAknTasPluginInterface * aAknTasPluginInterface ); + + /** + * @brief Destructor. + */ + virtual ~CTasTraversePluginInterface(); + + + public: + + /** + * @brief Traverse method for traversing the UI object. + * + * Reads the UI object information using aPbjectPtr. + * Writes the information into tasObject enabling XML format exports in the upper levels. + * + * @param tasObject Father object under which the new object is created + * @param aObjectPtr Pointer to the object to be traversed + * @return void + */ + virtual void TraverseL(MTasObject& tasObject, TAny* aObjectPtr) = 0; + + protected: + CAknTasPluginInterface * iAknTasPluginInterface; + TPtrC8 iAknTasTraverseObjectName; + + private: // Data + + /// Current instance identifier + TUid iImplementation; + + }; + +#include + +#endif /* TASTRAVERSEPLUGININTERFACE_H_ */