usbmgmt/usbmgr/usbman/server/INC/CPersonality.h
branchRCL_3
changeset 16 012cc2ee6408
parent 15 f92a4f87e424
--- a/usbmgmt/usbmgr/usbman/server/INC/CPersonality.h	Tue Aug 31 17:01:47 2010 +0300
+++ b/usbmgmt/usbmgr/usbman/server/INC/CPersonality.h	Wed Sep 01 12:35:00 2010 +0100
@@ -1,5 +1,5 @@
 /**
-* Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2004-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"
@@ -29,102 +29,60 @@
 #include <e32std.h>
 #include "CUsbDevice.h"
 
-
-/**
- * The CPersonalityConfigurations class keep all information of the table
- * "Configuration" of USB cenrep  
- */
-
-NONSHARABLE_CLASS(CPersonalityConfigurations) : public CBase
-    {
-public:
-    /*USB Classes*/
-    class TUsbClasses
-         {
-     public:
-         TUid    iClassUid;
-         TInt    iFeatureId; // Indicates the class is configurable or not.
-         };
-public:
-    void  SetPersonalityId(TInt aPersonalityId);  
-    void  SetConfigId(TInt aConfigId);  
-    inline const RArray<CPersonalityConfigurations::TUsbClasses>& Classes() const;
-    void AppendClassesL(const TUsbClasses& aClasses );
-    ~CPersonalityConfigurations();
-    
-private: 
-    TInt                        iPersonalityId; /*Personality Id*/
-    TInt                        iConfigId; /*Configuration Id*/
-    RArray<TUsbClasses>         iClasses; /*Class array*/
-    };
-
 NONSHARABLE_CLASS(CPersonality) : public CBase
 	{
 public:
 	static CPersonality* NewL();
 	~CPersonality();
 
-	const RArray<CPersonalityConfigurations::TUsbClasses>& SupportedClasses() const;
-	TBool ClassSupported(TUid aClassId) const;
+	TInt PersonalityId() const;
+	const RArray<TUid>& SupportedClasses() const;
+	TInt ClassSupported(TUid aClassId) const;
+	const CUsbDevice::TUsbDeviceDescriptor& DeviceDescriptor() const; 	
+	CUsbDevice::TUsbDeviceDescriptor& DeviceDescriptor(); 	
+	const TDesC* Manufacturer() const;
+	const TDesC* Product() const;
+	const TDesC* Description() const;
+	TInt AddSupportedClasses(TUid aClassId);
+	void SetId(TInt aId);
+	void SetManufacturer(const TDesC* aManufacturer);
+	void SetProduct(const TDesC* aProduct);
+	void SetDescription(const TDesC* aDescription);
 	static TInt Compare(const TUid&  aFirst, const TUid& aSecond);
 
-	inline TInt Version() const;
-	void SetVersion(TInt version);
-	
-	inline TUint32 Property() const;
-    void SetProperty(TUint32 aProperty);
-    
-    inline TUint8 DeviceClass() const;
-    void SetDeviceClass(TUint8 aDeviceClass);    
-    
-    inline TUint8 DeviceSubClass() const;
-    void SetDeviceSubClass(TUint8 aDeviceSubClass);
+	const TDesC* DetailedDescription() const;
+	void SetDetailedDescription(const TDesC* aDetailedDescription);
 
-    inline TUint8 DeviceProtocol() const;
-    void SetDeviceProtocol(TUint8 aDeviceProtocol);    
-    
-    inline TUint8 NumConfigurations() const;
-    void SetNumConfigurations(TUint8 aNumConfigurations);     
- 
-    inline TUint16 ProductId() const;
-    void SetProductId(TUint16 aProductId);    
-    
-    inline TInt FeatureId() const;
-    void SetFeatureId(TInt aFeatureId);       
-
-    inline TUint16 BcdDevice() const;
-    void SetBcdDevice(TUint16 aBcdDevice);    
-    
-    inline TInt PersonalityId() const;
-    void SetPersonalityId(TInt aPersonalityId);  
-    
-    inline const TDesC* Description() const;
-    void SetDescription(const TDesC* aDescription);  
-    
-    inline const RPointerArray<CPersonalityConfigurations>& PersonalityConfigs() const;
-    void AppendPersonalityConfigsL(const CPersonalityConfigurations *aPersonalityConfig );
+	TUint32 Property() const;
+	void SetProperty(TUint32 aProperty);
+	
+	TInt Version() const;
+	void SetVersion(TInt version);
     
 private:
 	CPersonality();
 	void ConstructL();
- 
+
 private:
-	TInt    iVersion;
-    TUint32 iProperty;	
-    TUint8  iDeviceClass;	
-    TUint8  iDeviceSubClass;
-    TUint8  iDeviceProtocol;
-    TUint8  iNumConfigurations;
-    TUint16 iProductId;
-    TInt    iFeatureId;
-    TUint16 iBcdDevice;
-    TInt    iPersonalityId;    // personality id
-    HBufC*   iDescription;     // Own this Personality's description
-    RPointerArray<CPersonalityConfigurations>   iPersonalityConfigs;  
+	// personality id
+	TInt								iId;
+	// USB class ids
+	RArray<TUid>						iClassUids;
+	// textual description of manufacturer
+	HBufC*								iManufacturer;
+	// textual description of product	
+	HBufC*								iProduct;
+	// textual description of personality
+	HBufC*								iDescription;
+	// USB device descriptor struct	
+	CUsbDevice::TUsbDeviceDescriptor 	iDeviceDescriptor;
+	// detailed textual description of personality
+	HBufC*                              	iDetailedDescription;
+    
+	TInt                                	iVersion;
+	TUint32								iProperty;
 	};
 
-
-
 #include "CPersonality.inl"
 	
 #endif // __CPERSONALITY_H__