usbmgmt/usbmgr/usbman/server/INC/CPersonality.h
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:35:00 +0100
branchRCL_3
changeset 16 012cc2ee6408
parent 15 f92a4f87e424
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201033 Kit: 201035
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/**
16
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
     2
* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
0
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
* Description:
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
* Implements a utility class which holds the information about a USB descriptor
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
* 
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
*
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
*/
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
/**
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
 @file
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
*/
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
#ifndef __CPERSONALITY_H__
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
#define __CPERSONALITY_H__
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
#include <e32std.h>
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
#include "CUsbDevice.h"
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
NONSHARABLE_CLASS(CPersonality) : public CBase
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
	{
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
public:
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
	static CPersonality* NewL();
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
	~CPersonality();
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
16
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    38
	TInt PersonalityId() const;
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    39
	const RArray<TUid>& SupportedClasses() const;
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    40
	TInt ClassSupported(TUid aClassId) const;
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    41
	const CUsbDevice::TUsbDeviceDescriptor& DeviceDescriptor() const; 	
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    42
	CUsbDevice::TUsbDeviceDescriptor& DeviceDescriptor(); 	
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    43
	const TDesC* Manufacturer() const;
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    44
	const TDesC* Product() const;
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    45
	const TDesC* Description() const;
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    46
	TInt AddSupportedClasses(TUid aClassId);
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    47
	void SetId(TInt aId);
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    48
	void SetManufacturer(const TDesC* aManufacturer);
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    49
	void SetProduct(const TDesC* aProduct);
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    50
	void SetDescription(const TDesC* aDescription);
0
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    51
	static TInt Compare(const TUid&  aFirst, const TUid& aSecond);
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    52
16
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    53
	const TDesC* DetailedDescription() const;
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    54
	void SetDetailedDescription(const TDesC* aDetailedDescription);
0
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    55
16
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    56
	TUint32 Property() const;
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    57
	void SetProperty(TUint32 aProperty);
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    58
	
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    59
	TInt Version() const;
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    60
	void SetVersion(TInt version);
0
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    61
    
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    62
private:
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    63
	CPersonality();
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    64
	void ConstructL();
16
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    65
0
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    66
private:
16
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    67
	// personality id
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    68
	TInt								iId;
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    69
	// USB class ids
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    70
	RArray<TUid>						iClassUids;
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    71
	// textual description of manufacturer
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    72
	HBufC*								iManufacturer;
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    73
	// textual description of product	
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    74
	HBufC*								iProduct;
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    75
	// textual description of personality
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    76
	HBufC*								iDescription;
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    77
	// USB device descriptor struct	
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    78
	CUsbDevice::TUsbDeviceDescriptor 	iDeviceDescriptor;
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    79
	// detailed textual description of personality
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    80
	HBufC*                              	iDetailedDescription;
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    81
    
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    82
	TInt                                	iVersion;
012cc2ee6408 Revert incorrect RCL_3 drop:
Pat Downey <patd@symbian.org>
parents: 15
diff changeset
    83
	TUint32								iProperty;
0
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    84
	};
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    85
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    86
#include "CPersonality.inl"
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    87
	
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    88
#endif // __CPERSONALITY_H__
c9bc50fca66e Revision: 201001
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    89