| author | Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> | 
| Fri, 15 Jan 2010 08:13:17 +0200 | |
| changeset 0 | 29b1cd4cb562 | 
| permissions | -rw-r--r-- | 
| 0 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 1 | // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 2 | // All rights reserved. | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 3 | // This component and the accompanying materials are made available | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 4 | // under the terms of "Eclipse Public License v1.0" | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 5 | // which accompanies this distribution, and is available | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 6 | // at the URL "http://www.eclipse.org/legal/epl-v10.html". | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 7 | // | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 8 | // Initial Contributors: | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 9 | // Nokia Corporation - initial contribution. | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 10 | // | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 11 | // Contributors: | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 12 | // | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 13 | // Description: | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 14 | // | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 15 | |
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 16 | #include <bttypes.h> | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 17 | #include "internaltypes.h" | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 18 | |
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 19 | enum TBluetoothHciCommandsPanic | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 20 | 	{
 | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 21 | ERangeTooLarge, | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 22 | }; | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 23 | |
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 24 | void CommandsPanic(TBluetoothHciCommandsPanic aPanic) | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 25 | 	{
 | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 26 | _LIT(KPanicText, "BluetoothHciCommands"); | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 27 | User::Panic(KPanicText, aPanic); | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 28 | } | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 29 | |
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 30 | TBluetoothHciCommands::TBluetoothHciCommands() | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 31 | 	{
 | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 32 | Init(KNullDesC8); | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 33 | } | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 34 | |
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 35 | |
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 36 | TBluetoothHciCommands::TBluetoothHciCommands(const TDesC8& aFeatures) | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 37 | 	{
 | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 38 | Init(aFeatures); | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 39 | } | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 40 | |
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 41 | |
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 42 | void TBluetoothHciCommands::Init(const TDesC8& aFeatures) | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 43 | 	{
 | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 44 | iCommands.Copy(aFeatures); | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 45 | iCommands.SetMax(); | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 46 | } | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 47 | |
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 48 | |
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 49 | TBool TBluetoothHciCommands::operator[](TInt aOffset) const | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 50 | 	{
 | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 51 | if (aOffset > KBluetoothHciCommandsBytes * 8) | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 52 | 		{
 | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 53 | CommandsPanic(ERangeTooLarge); | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 54 | } | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 55 | TInt byte = aOffset / 8; | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 56 | TInt offset = aOffset - (byte * 8); | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 57 | TUint8 byteval = iCommands[byte]; | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 58 | return TBool(iCommands[byte] & (1<<offset)); | 
| 
29b1cd4cb562
Revision: 200951_001
 Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com> parents: diff
changeset | 59 | } |