Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members

IConfigManager.hpp

Go to the documentation of this file.
00001 // Copyright (c) 2007-2008 Tomer Nosrati
00002 // This file is part of the "NUSoftware Game Engine".
00003 // For conditions of distribution and use, see copyright notice in nge.hpp
00004 
00005 #pragma once
00006 #ifndef __I_CONFIG_MANAGER_H__
00007 #define __I_CONFIG_MANAGER_H__
00008 
00009 #include "IIniFileReader.hpp"
00010 #include "IAudioDevice.hpp"
00011 
00012 using namespace nge::audio;
00013 using namespace nge::io;
00014 using namespace irr;
00015 using namespace irr::video;
00016 using namespace irr::core;
00017 
00018 namespace nge
00019 {
00020 
00021         namespace core
00022         {
00023 
00025 
00028                 class IConfigManager : public virtual IReferenceCounted
00029                 {
00030                 public:
00032                         virtual ~IConfigManager() {}
00033 
00035 
00041                         virtual bool loadConfigFromIni() = 0;
00042 
00044 
00059                         virtual bool createEmptyIniFile(
00060                                 E_DRIVER_TYPE DriverType,
00061                                 E_AUDIO_DEVICE AudioDeviceType,
00062                                 dimension2d<s32> WindowSize, 
00063                                 u32 Bits, 
00064                                 bool Fullscreen, 
00065                                 bool Stencilbuffer, 
00066                                 bool Vsync, 
00067                                 bool AntiAlias, 
00068                                 bool HighPrecisionFPU,
00069                                 c8* MainFontFile,
00070                                 c8* IsMediaFolderOrZip,
00071                                 c8* MediaArchive) = 0;
00072 
00074                         virtual stringc getIniFilePath() const = 0;
00075 
00077 
00078                         virtual bool saveChanges() = 0;
00079 
00081                         virtual SIrrlichtCreationParameters& getSDeviceParam() = 0;
00082 
00084                         virtual E_DRIVER_TYPE getVideoDriverType() const = 0;
00085 
00087                         virtual E_AUDIO_DEVICE getAudioDeviceType() const = 0;
00088 
00090                         virtual dimension2di getWindowSize() const = 0;
00091 
00093                         virtual u32 getBitsPerPixel() const = 0;
00094 
00096                         virtual bool getFullscreen() const = 0;
00097 
00099                         virtual bool getStencilbuffer() const = 0;
00100 
00102                         virtual bool getVsync() const = 0;
00103 
00105                         virtual bool getAntiAlias() const = 0;
00106 
00108                         virtual bool getHighPrecisionFPU() const = 0;
00109 
00111                         virtual c8* getMainFontFileName() const = 0;
00112 
00114                         virtual c8* isMediaFolderOrZip() const = 0;
00115 
00117                         virtual c8* getMediaArchivePath() const = 0;
00118 
00120                         virtual void setSDeviceParam(const SIrrlichtCreationParameters&) = 0;
00121 
00123                         virtual void setDriverType(E_DRIVER_TYPE) = 0;
00124 
00126                         virtual void setAudioDeviceType(E_AUDIO_DEVICE) = 0;
00127 
00129                         virtual void setWindowSize(const s32, const s32) = 0;
00130 
00132                         virtual void setBitsPerPixel(u32) = 0;
00133 
00135                         virtual void setFullscreen(bool) = 0;
00136 
00138                         virtual void setStencilbuffer(bool) = 0;
00139 
00141                         virtual void setVsync(bool) = 0;
00142 
00144                         virtual void setAntiAlias(bool) = 0;
00145 
00147                         virtual void setHighPrecisionFPU(bool) = 0;
00148 
00150                         virtual void setMainFontFileName(c8*) = 0;
00151 
00152                         virtual void setMediaFolderOrZip(c8*) = 0;
00153 
00155                         virtual void setMediaArchivePath(c8*) = 0;
00156                 };
00157 
00159                 IConfigManager* createConfigManager(const c8* file, bool createNewFile = false);
00160 
00161         } // namespace core
00162 } // namespace nge
00163 
00164 #endif // __I_CONFIG_MANAGER_H__

The NUSoftware Game Engine
The NUSoftware Game Engine Documentation © 2007-2008 by Tomer Nosrati. Generated on Sat Apr 26 16:52:34 2008 by Doxygen (1.5.5)