mirror of
https://github.com/pocoproject/poco.git
synced 2024-12-14 11:06:57 +01:00
chore(LocalConfigurationView): fix style #3529
This commit is contained in:
parent
a843c63bf2
commit
41f11b02bc
Util
@ -20,53 +20,52 @@
|
|||||||
#include "Poco/Util/Util.h"
|
#include "Poco/Util/Util.h"
|
||||||
|
|
||||||
namespace Poco {
|
namespace Poco {
|
||||||
namespace Util {
|
namespace Util {
|
||||||
|
|
||||||
class Util_API LocalConfigurationView : public AbstractConfiguration
|
|
||||||
/// This configuration implements a "view" into a sub-hierarchy
|
|
||||||
/// of another configuration.
|
|
||||||
///
|
|
||||||
/// For example, given a configuration with the following properties:
|
|
||||||
/// config.value1
|
|
||||||
/// config.value2
|
|
||||||
/// config.sub.value1
|
|
||||||
/// config.sub.value2
|
|
||||||
/// and a LocalConfigurationView with the prefix "config", then
|
|
||||||
/// the above properties will be available via the view as
|
|
||||||
/// value1
|
|
||||||
/// value2
|
|
||||||
/// sub.value1
|
|
||||||
/// sub.value2
|
|
||||||
///
|
|
||||||
/// A LocalConfigurationView is most useful in combination with a
|
|
||||||
/// LayeredConfiguration.
|
|
||||||
///
|
|
||||||
/// The LocalConfigurationView only searches for the properties in the viewed Space.
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
LocalConfigurationView(const std::string& prefix, AbstractConfiguration::Ptr pConfig);
|
|
||||||
/// Creates the LocalConfigurationView. The LocalConfigurationView
|
|
||||||
/// retains (shared) ownership of the passed configuration.
|
|
||||||
|
|
||||||
protected:
|
class Util_API LocalConfigurationView : public AbstractConfiguration
|
||||||
bool getRaw(const std::string& key, std::string& value) const;
|
/// This configuration implements a "view" into a sub-hierarchy
|
||||||
void setRaw(const std::string& key, const std::string& value);
|
/// of another configuration.
|
||||||
void enumerate(const std::string& key, Keys& range) const;
|
///
|
||||||
void removeRaw(const std::string& key);
|
/// For example, given a configuration with the following properties:
|
||||||
|
/// config.value1
|
||||||
|
/// config.value2
|
||||||
|
/// config.sub.value1
|
||||||
|
/// config.sub.value2
|
||||||
|
/// and a LocalConfigurationView with the prefix "config", then
|
||||||
|
/// the above properties will be available via the view as
|
||||||
|
/// value1
|
||||||
|
/// value2
|
||||||
|
/// sub.value1
|
||||||
|
/// sub.value2
|
||||||
|
///
|
||||||
|
/// A LocalConfigurationView is most useful in combination with a
|
||||||
|
/// LayeredConfiguration.
|
||||||
|
///
|
||||||
|
/// The LocalConfigurationView only searches for the properties in the viewed Space.
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
LocalConfigurationView(const std::string& prefix, AbstractConfiguration::Ptr pConfig);
|
||||||
|
/// Creates the LocalConfigurationView. The LocalConfigurationView
|
||||||
|
/// retains (shared) ownership of the passed configuration.
|
||||||
|
|
||||||
std::string translateKey(const std::string& key) const;
|
protected:
|
||||||
|
bool getRaw(const std::string& key, std::string& value) const;
|
||||||
|
void setRaw(const std::string& key, const std::string& value);
|
||||||
|
void enumerate(const std::string& key, Keys& range) const;
|
||||||
|
void removeRaw(const std::string& key);
|
||||||
|
std::string translateKey(const std::string& key) const;
|
||||||
|
~LocalConfigurationView();
|
||||||
|
|
||||||
~LocalConfigurationView();
|
private:
|
||||||
|
LocalConfigurationView(const LocalConfigurationView&);
|
||||||
|
LocalConfigurationView& operator=(const LocalConfigurationView&);
|
||||||
|
std::string _prefix;
|
||||||
|
AbstractConfiguration::Ptr _pConfig;
|
||||||
|
};
|
||||||
|
|
||||||
private:
|
|
||||||
LocalConfigurationView(const LocalConfigurationView&);
|
|
||||||
LocalConfigurationView& operator=(const LocalConfigurationView&);
|
|
||||||
|
|
||||||
std::string _prefix;
|
}} // namespace Poco::Util
|
||||||
AbstractConfiguration::Ptr _pConfig;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace Util
|
|
||||||
} // namespace Poco
|
|
||||||
|
|
||||||
#endif // Util_LocalConfigurationView_INCLUDED
|
#endif // Util_LocalConfigurationView_INCLUDED
|
||||||
|
@ -13,43 +13,58 @@
|
|||||||
|
|
||||||
#include "Poco/Util/LocalConfigurationView.h"
|
#include "Poco/Util/LocalConfigurationView.h"
|
||||||
|
|
||||||
|
|
||||||
namespace Poco {
|
namespace Poco {
|
||||||
namespace Util {
|
namespace Util {
|
||||||
|
|
||||||
LocalConfigurationView::LocalConfigurationView(const std::string& prefix, AbstractConfiguration::Ptr pConfig) : _prefix(prefix),
|
|
||||||
_pConfig(pConfig) {
|
|
||||||
poco_check_ptr(pConfig);
|
|
||||||
}
|
|
||||||
|
|
||||||
LocalConfigurationView::~LocalConfigurationView() {
|
LocalConfigurationView::LocalConfigurationView(const std::string& prefix, AbstractConfiguration::Ptr pConfig) :
|
||||||
}
|
_prefix(prefix), _pConfig(pConfig)
|
||||||
|
{
|
||||||
|
poco_check_ptr(pConfig);
|
||||||
|
}
|
||||||
|
|
||||||
bool LocalConfigurationView::getRaw(const std::string& key, std::string& value) const {
|
|
||||||
std::string translatedKey = translateKey(key);
|
|
||||||
return _pConfig->getRaw(translatedKey, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
void LocalConfigurationView::setRaw(const std::string& key, const std::string& value) {
|
LocalConfigurationView::~LocalConfigurationView()
|
||||||
std::string translatedKey = translateKey(key);
|
{
|
||||||
_pConfig->setRaw(translatedKey, value);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
void LocalConfigurationView::enumerate(const std::string& key, Keys& range) const {
|
|
||||||
std::string translatedKey = translateKey(key);
|
|
||||||
_pConfig->enumerate(translatedKey, range);
|
|
||||||
}
|
|
||||||
|
|
||||||
void LocalConfigurationView::removeRaw(const std::string& key) {
|
bool LocalConfigurationView::getRaw(const std::string& key, std::string& value) const
|
||||||
std::string translatedKey = translateKey(key);
|
{
|
||||||
_pConfig->remove(translatedKey);
|
std::string translatedKey = translateKey(key);
|
||||||
}
|
return _pConfig->getRaw(translatedKey, value);
|
||||||
|
}
|
||||||
|
|
||||||
std::string LocalConfigurationView::translateKey(const std::string& key) const {
|
|
||||||
std::string result = _prefix;
|
|
||||||
if (!result.empty() && !key.empty() && key[0] != '[') result += '.';
|
|
||||||
result += key;
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace Util
|
void LocalConfigurationView::setRaw(const std::string& key, const std::string& value)
|
||||||
} // namespace Poco
|
{
|
||||||
|
std::string translatedKey = translateKey(key);
|
||||||
|
_pConfig->setRaw(translatedKey, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void LocalConfigurationView::enumerate(const std::string& key, Keys& range) const
|
||||||
|
{
|
||||||
|
std::string translatedKey = translateKey(key);
|
||||||
|
_pConfig->enumerate(translatedKey, range);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void LocalConfigurationView::removeRaw(const std::string& key)
|
||||||
|
{
|
||||||
|
std::string translatedKey = translateKey(key);
|
||||||
|
_pConfig->remove(translatedKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
std::string LocalConfigurationView::translateKey(const std::string& key) const
|
||||||
|
{
|
||||||
|
std::string result = _prefix;
|
||||||
|
if (!result.empty() && !key.empty() && key[0] != '[') result += '.';
|
||||||
|
result += key;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}} // namespace Poco::Util
|
||||||
|
Loading…
Reference in New Issue
Block a user