16 #ifndef __Ice_Properties_h__
17 #define __Ice_Properties_h__
38 #ifndef ICE_IGNORE_VERSION
39 # if ICE_INT_VERSION / 100 != 307
40 # error Ice version mismatch!
42 # if ICE_INT_VERSION % 100 >= 50
43 # error Beta header file detected
45 # if ICE_INT_VERSION % 100 < 10
46 # error Ice patch level mismatch!
51 # if defined(ICE_STATIC_LIBS)
53 # elif defined(ICE_API_EXPORTS)
54 # define ICE_API ICE_DECLSPEC_EXPORT
56 # define ICE_API ICE_DECLSPEC_IMPORT
60 #ifdef ICE_CPP11_MAPPING // C++11 mapping
92 virtual ::std::string
getProperty(const ::std::string& key) noexcept = 0;
175 virtual void setProperty(const ::std::string& key, const ::std::string& value) = 0;
215 virtual
void load(const ::std::
string& file) = 0;
237 using PropertiesPtr = ::std::shared_ptr<Properties>;
242 #else // C++98 mapping
256 typedef ::IceInternal::Handle< Properties> PropertiesPtr;
275 class ICE_API Properties :
public virtual LocalObject
279 typedef PropertiesPtr PointerType;
281 virtual ~Properties();
283 #ifdef ICE_CPP11_COMPILER
284 Properties() =
default;
285 Properties(
const Properties&) =
default;
286 Properties& operator=(
const Properties&) =
default;
296 virtual ::std::string getProperty(const ::std::string& key)
ICE_NOEXCEPT = 0;
307 virtual ::std::string getPropertyWithDefault(const ::std::string& key, const ::std::string& value)
ICE_NOEXCEPT = 0;
316 virtual Int getPropertyAsInt(const ::std::string& key)
ICE_NOEXCEPT = 0;
328 virtual Int getPropertyAsIntWithDefault(const ::std::string& key,
Int value)
ICE_NOEXCEPT = 0;
379 virtual void setProperty(const ::std::string& key, const ::std::string& value) = 0;
402 virtual
StringSeq parseCommandLineOptions(const ::std::
string& prefix, const
StringSeq& options) = 0;
419 virtual
void load(const ::std::
string& file) = 0;
429 inline
bool operator==(const Properties& lhs, const Properties& rhs)
431 return static_cast<const LocalObject&
>(lhs) ==
static_cast<const LocalObject&
>(rhs);
434 inline bool operator<(
const Properties& lhs,
const Properties& rhs)
436 return static_cast<const LocalObject&
>(lhs) <
static_cast<const LocalObject&
>(rhs);