diff -r 000000000000 -r cec860690d41 emulator/emulatorbsp/win_drive/settings_manager.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/emulator/emulatorbsp/win_drive/settings_manager.h Tue Feb 02 01:39:10 2010 +0200 @@ -0,0 +1,93 @@ +// Copyright (c) 2007-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: +// Definitions of the classes responsible for the settings handling in the .ini file +// +// + +/** + @file +*/ + +#ifndef SETTINGS_MANAGER_H +#define SETTINGS_MANAGER_H + +#include "common.h" + +#define WIN32_LEAN_AND_MEAN +#pragma warning( disable : 4201 ) // nonstandard extension used : nameless struct/union +#include +#pragma warning( default : 4201 ) // nonstandard extension used : nameless struct/union + + +//----------------------------------------------------------------------------- + +/** This class is the interface to the various settings from ini file */ +class TSettingsManager +{ + public: + + static TSettingsManager* Create(TInt aEpocDrvNumber); + + //-- API for the particular user of this class + TUint32 MediaSectorSize() const; + TUint32 MediaSizeInSectors() const; + TBool WinDeviceName(char* apszName, TUint aBufLen) const; + TBool IsReadOnly() const; + + TUint32 TMediaType_Override() const; + void MediaAtt_OverrideMasks(TUint32 &aAndMask, TUint32 &aOrMask) const; + void DriveAtt_OverrideMasks(TUint32 &aAndMask, TUint32 &aOrMask) const; + + protected: + + TSettingsManager(const char* apFileName, TInt aEpocDrvNumber); + + TSettingsManager(); + TSettingsManager(const TSettingsManager&); + TSettingsManager& operator=(const TSettingsManager&); + + //-- low-level API, for internal use only + DWORD ReadString (const char* aAppName, const char* aKeyName, const char* aStrDefault, char* aStrDest, DWORD aSize) const; + int ReadInt (const char* aAppName, const char* aKeyName, int aDefaultIntVal) const; + TBool ReadBool(const char* aAppName, const char* aKeyName, int aDefaultBoolVal) const; + TBool ReadUintFromHex(const char* aAppName, const char* aKeyName, TUint32& aVal) const; + + inline const char* IniFileName() const {return iIniFileName;} + inline const char* DriveSection() const {return iDrvSectionName;} + + + private: + + char iIniFileName[KMaxFileName]; + char iDrvSectionName[20]; + +}; + + +//----------------------------------------------------------------------------- + +#endif //SETTINGS_MANAGER_H + + + + + + + + + + + + +