syslibsapitest/syslibssvs/ecom/inc/T_ImplementationInformationData.h
changeset 0 e4d67989cc36
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/syslibsapitest/syslibssvs/ecom/inc/T_ImplementationInformationData.h	Tue Feb 02 02:01:42 2010 +0200
@@ -0,0 +1,118 @@
+/*
+* Copyright (c) 2005-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: 
+*
+*/
+
+
+
+#if (!defined __T_IMPLEMENTATION_INFORMATION_API_DATA_H__)
+#define __T_IMPLEMENTATION_INFORMATION_API_DATA_H__
+
+//	User Includes
+#include "DataWrapperBase.h"
+
+// Classes to get to protected members
+
+//	EPOC includes
+#include <w32std.h>
+#include <e32std.h>
+#include <ecom/implementationinformation.h>
+
+class CT_ImplementationInformationData: public CDataWrapperBase
+	{
+public:
+	/**
+	* Two phase constructor
+	*/
+	static CT_ImplementationInformationData*	NewL();
+
+	/**
+	* Destructor
+	*/
+	~CT_ImplementationInformationData();
+
+	/**
+	 * Process a command read from the ini file
+	 *
+	 * @param aCommand			The command to process
+	 * @param aSection			The section in the ini containing data for the command
+	 * @param aAsyncErrorIndex	Command index for async calls to return errors to
+	 *
+	 * @return ETrue if the command is processed
+	 *
+	 * @leave					System wide error
+	 */
+	virtual TBool	DoCommandL(const TTEFFunction& aCommand, const TTEFSectionName& aSection, const TInt aAsyncErrorIndex);
+
+	/**
+	 * @return	Pointer to the object that the data wraps
+	 */
+	inline virtual TAny*	GetObject() 
+		{
+		return iImplementationInformation;
+		};
+
+	/**
+	 * Set the object that the data wraps
+	 *
+	 * @param	aObject object that the wrapper is testing
+	 *
+	 * @leave	KErrNotSupported if the the function is not supported
+	 */
+	virtual inline void	SetObjectL(TAny* aObject)
+		{
+		iImplementationInformation=static_cast<CImplementationInformation*>(aObject);
+		};
+
+protected:
+	/**
+	 * Public constructor. First phase construction
+	 */
+	CT_ImplementationInformationData();
+
+	/**
+	* Second phase construction
+	*/
+	void	ConstructL();
+
+private:
+	inline void	DoCmdDestroy();
+	inline void	DoCmdDisplayName(const TDesC& aSection);
+	inline void	DoCmdDataType(const TDesC& aSection);
+	inline void	DoCmdOpaqueData(const TDesC& aSection);
+	inline void	DoCmdImplementationUid(const TDesC& aSection);
+	inline void	DoCmdVersion(const TDesC& aSection);
+	inline void	DoCmdDisabled(const TDesC& aSection);
+	inline void	DoCmdSetDisabled(const TDesC& aSection);
+	inline void	DoCmdDrive(const TDesC& aSection);
+	inline void	DoCmdRomOnly(const TDesC& aSection);
+	inline void	DoCmdRomBased(const TDesC& aSection);
+
+	TBool	GetUid(const TDesC& aSection, TUid& aUid);
+	TBool	GetExpectedString(const TDesC& aSection, TPtrC& aDataType);
+	TBool	GetExpectedResult(const TDesC& aSection, TInt& aExpectedResult);
+	TBool	GetExpectedHexResult(const TDesC& aSection, TInt& aExpectedResult);
+	TBool	GetDisabled(const TDesC& aSection, TBool& aDisabled);
+	TBool	GetExpectedBool(const TDesC& aSection, TBool& aBool);
+	TBool	GetArrayElement(const TDesC& aSection, TInt& aArrayElement);
+
+	//	Helper methods
+	void	DestroyData();
+
+private:
+    CImplementationInformation*		iImplementationInformation;
+	};
+
+#endif /* __T_IMPLEMENTATION_INFORMATION_API_DATA_H__ */