Go to the documentation of this file.
27 #include <Ice/Properties.h>
33 #define INHERITANCE_KEYWORD "inheritFrom"
34 #define STRINGREPLACEMENT_NAMESPACE "Variables"
121 public Ice::Properties
147 ::std::string
getProperty(const ::std::string& name) ICE_NOEXCEPT
override;
153 const ::std::string& defaultValue) ICE_NOEXCEPT
override;
163 ::
Ice::Int defaultValue) ICE_NOEXCEPT
override;
167 ::Ice::StringSeq
getPropertyAsList(const ::std::string& name) ICE_NOEXCEPT
override;
173 const ::Ice::StringSeq& defaultValue) ICE_NOEXCEPT
override;
182 void setProperty(const ::std::string& name, const ::std::string&
value)
override;
193 const ::Ice::StringSeq& options)
override;
202 void load(const ::std::string& fileName)
override;
211 public IceUtil::Shared
257 void inherit(
const std::string& childNamespace,
258 const std::string& parentNamespace,
260 std::vector<std::string> heritageLine);
283 std::string
getParent(
const std::string& childNamespace,
295 const std::string& namespace_);
306 const std::string& namespace_);
330 void setModified(
bool modified);
std::map< std::string, bool > NamespaceMap
std::string stripNamespace(const std::string &propertyName, const std::string &namespace_)
Removes the namespace of the property name.
::Ice::PropertiesPtr clone() ICE_NOEXCEPT override
void extractNamespaces(const Ice::PropertiesPtr &properties, NamespaceMap &namespaces)
Extracts all existing namespace within the passed property container.
IceProperties(const Ice::PropertiesPtr iceProperties)
Ice property container constructor.
~IceProperties() override
Ice property container desctructor.
::Ice::StringSeq getPropertyAsListWithDefault(const ::std::string &name, const ::Ice::StringSeq &defaultValue) ICE_NOEXCEPT override
::Ice::StringSeq parseIceCommandLineOptions(const ::Ice::StringSeq &options) override
bool isInHeritageLine(const std::vector< std::string > &heritageLine, const std::string &namespace_)
Checks whether the specified namespace exists already in the heritageLine.
void resolveNamespaceInheritance(const std::string &childNamespace, Ice::PropertiesPtr &properties)
Resolves namespace inheritance for a specific namespace.
::Ice::StringSeq getCommandLineOptions() ICE_NOEXCEPT override
~InheritanceSolver() override
std::shared_ptr< Value > value()
void inherit(const std::string &childNamespace, const std::string &parentNamespace, Ice::PropertiesPtr &properties, std::vector< std::string > heritageLine)
Performs the inheritance of properties from parentNamespace to childNamespace.
::Ice::Int getPropertyAsInt(const ::std::string &name) ICE_NOEXCEPT override
void load(const ::std::string &fileName) override
static Ice::PropertiesPtr create(const Ice::PropertiesPtr &iceProperties=nullptr)
::Ice::StringSeq parseCommandLineOptions(const ::std::string &prefix, const ::Ice::StringSeq &options) override
virtual void setInheritanceSolver(const InheritanceSolverPtr &inheritanceSolver)
Sets an inheritance solver in case of testing or using a non-default solver.
Vertex source(const detail::edge_base< Directed, Vertex > &e, const PCG &)
void setProperty(const ::std::string &name, const ::std::string &value) override
::std::string getProperty(const ::std::string &name) ICE_NOEXCEPT override
void resolveInheritance(Ice::PropertiesPtr &properties)
Resolves all inheritance specifications made using the config notation "<namespace>....
IceProperties stores ice properties and resolves property inheritance.
::std::string getPropertyWithDefault(const ::std::string &name, const ::std::string &defaultValue) ICE_NOEXCEPT override
std::string getParent(const std::string &childNamespace, const Ice::PropertiesPtr &properties)
Returns the parent namespace of a child namespace.
virtual InheritanceSolverPtr getInheritanceSolver()
Returns the currently used inheritance solver.
::Ice::StringSeq getPropertyAsList(const ::std::string &name) ICE_NOEXCEPT override
::Ice::PropertyDict getPropertiesForPrefix(const ::std::string &prefix) ICE_NOEXCEPT override
bool hasParent(const std::string &childNamespace, const Ice::PropertiesPtr &properties)
Checks whether the specified namespace has a parent which it inherits from.
This file offers overloads of toIce() and fromIce() functions for STL container types.
::Ice::Int getPropertyAsIntWithDefault(const ::std::string &name, ::Ice::Int defaultValue) ICE_NOEXCEPT override