diff -r 000000000000 -r 29b1cd4cb562 bthci/bthci2/hciutil/interface/hciutil.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bthci/bthci2/hciutil/interface/hciutil.h Fri Jan 15 08:13:17 2010 +0200 @@ -0,0 +1,79 @@ +// Copyright (c) 2006-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: +// + +/** + @file + @publishedPartner + @released +*/ + +#ifndef HCIUTIL_H +#define HCIUTIL_H + +#include +#include + +// Note that KMaxHciUtilComponentName + ini-file path + ".ini" must not +// exceed the length of a TName. +const static TUint KMaxHciUtilComponentName = 60; +_LIT(KDefaultIniFilePath, "\\private\\101F7989\\Bluetooth\\"); + +_LIT(KHciUtilPanic, "HCI Util Panic"); + +enum THciUtilPanic + { + EAlreadyAnIniFileOpen = 0, + ESectionNameTooBig, + EKeyNameTooBig, + }; + +/** +Common features used throughout the HCI +*/ +class CIniFileData; +class CHciUtil : public CBase + { +public: + IMPORT_C static CHciUtil* NewL(const TDesC& aComponentName); + IMPORT_C ~CHciUtil(); + + IMPORT_C void OpenIniFileL(); + IMPORT_C void OpenIniFileL(const TDesC& aPath, const TDesC& aFile); + IMPORT_C void CloseIniFile(); + + IMPORT_C TUid GetUidFromFileL(const TDesC& aSection, const TDesC& aTag); + IMPORT_C TUint GetValueFromFileL(const TDesC& aSection, const TDesC& aTag); + + IMPORT_C static TAny* LoadImplementationL(TUid aIfUid, TInt aKeyOffset); + IMPORT_C static TAny* LoadImplementationL(TUid aIfUid, TUid aImplUid, TInt aKeyOffset); + + IMPORT_C static void DestroyedImplementation(TUid aKey); + + IMPORT_C static TInt SymbianErrorCode(THCIErrorCode aErrorCode); + +private: + void ConstructL(const TDesC& aComponentName); + CHciUtil(); + + void GetFromFileL(const TDesC& aSection, const TDesC& aTag, TPtrC& aRetText); + TUid FormatUidL(TPtrC& aDes); + TUint FormatValueL(TPtrC& aDes); + +private: + TBuf iCompName; + CIniFileData* iIniFile; + }; + +#endif // HCIUTIL_H