Update contrib.
1 // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
14 // Definitions of the classes responsible for the settings handling in the .ini file
22 #ifndef SETTINGS_MANAGER_H
23 #define SETTINGS_MANAGER_H
27 #define WIN32_LEAN_AND_MEAN
28 #pragma warning( disable : 4201 ) // nonstandard extension used : nameless struct/union
30 #pragma warning( default : 4201 ) // nonstandard extension used : nameless struct/union
33 //-----------------------------------------------------------------------------
35 /** This class is the interface to the various settings from ini file */
36 class TSettingsManager
40 static TSettingsManager* Create(TInt aEpocDrvNumber);
42 //-- API for the particular user of this class
43 TUint32 MediaSectorSize() const;
44 TUint32 MediaSizeInSectors() const;
45 TBool WinDeviceName(char* apszName, TUint aBufLen) const;
46 TBool IsReadOnly() const;
48 TUint32 TMediaType_Override() const;
49 void MediaAtt_OverrideMasks(TUint32 &aAndMask, TUint32 &aOrMask) const;
50 void DriveAtt_OverrideMasks(TUint32 &aAndMask, TUint32 &aOrMask) const;
54 TSettingsManager(const char* apFileName, TInt aEpocDrvNumber);
57 TSettingsManager(const TSettingsManager&);
58 TSettingsManager& operator=(const TSettingsManager&);
60 //-- low-level API, for internal use only
61 DWORD ReadString (const char* aAppName, const char* aKeyName, const char* aStrDefault, char* aStrDest, DWORD aSize) const;
62 int ReadInt (const char* aAppName, const char* aKeyName, int aDefaultIntVal) const;
63 TBool ReadBool(const char* aAppName, const char* aKeyName, int aDefaultBoolVal) const;
64 TBool ReadUintFromHex(const char* aAppName, const char* aKeyName, TUint32& aVal) const;
66 inline const char* IniFileName() const {return iIniFileName;}
67 inline const char* DriveSection() const {return iDrvSectionName;}
72 char iIniFileName[KMaxFileName];
73 char iDrvSectionName[20];
78 //-----------------------------------------------------------------------------
80 #endif //SETTINGS_MANAGER_H