--- 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__