00001 /* Copyright (c) 2007, Gennady Bystritsky <bystr@mac.com> 00002 * 00003 * Distributed under the MIT Licence. 00004 * This is free software. See 'LICENSE' for details. 00005 * You must read and accept the license prior to use. 00006 */ 00007 00008 #ifndef _SK_RT_SCOPE_ICONFIG_ 00009 #define _SK_RT_SCOPE_ICONFIG_ 00010 00011 #include <sk/rt/logger/IConfig.h> 00012 #include <sk/util/String.h> 00013 #include <sk/util/Boolean.h> 00014 00015 namespace sk { 00016 namespace rt { 00017 namespace scope { 00018 class IConfig 00019 : public virtual logger::IConfig 00020 { 00021 public: 00022 virtual const sk::util::String getProperty(const sk::util::String& name) const = 0; 00023 virtual const sk::util::String getProperty(const sk::util::String& name, const sk::util::String& fallback) const = 0; 00024 virtual const sk::util::String getProperty(const sk::util::String& name, const char* fallback) const = 0; 00025 virtual bool getProperty(const sk::util::String& name, const sk::util::Boolean& fallback) const = 0; 00026 virtual int getProperty(const sk::util::String& name, int fallback) const = 0; 00027 virtual bool hasProperty(const sk::util::String& name) const = 0; 00028 00029 virtual void setProperty(const sk::util::String& name, const sk::util::String& value) = 0; 00030 }; 00031 } 00032 } 00033 } 00034 00035 #endif /* _SK_RT_SCOPE_ICONFIG_ */