diff options
author | Benoit Foucher <benoit@zeroc.com> | 2003-11-26 15:45:39 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2003-11-26 15:45:39 +0000 |
commit | 3a10f02aaf758ab91447ed4c0ef03489e78e9723 (patch) | |
tree | e5099302456058c4311eaccfaf2b09ae51308310 /cpp/src | |
parent | Fixes (diff) | |
download | ice-3a10f02aaf758ab91447ed4c0ef03489e78e9723.tar.bz2 ice-3a10f02aaf758ab91447ed4c0ef03489e78e9723.tar.xz ice-3a10f02aaf758ab91447ed4c0ef03489e78e9723.zip |
Fixes to support DB_CONFIG properties
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/IcePack/ComponentBuilder.cpp | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/cpp/src/IcePack/ComponentBuilder.cpp b/cpp/src/IcePack/ComponentBuilder.cpp index 6d5aacf1f90..60cd5356a3e 100644 --- a/cpp/src/IcePack/ComponentBuilder.cpp +++ b/cpp/src/IcePack/ComponentBuilder.cpp @@ -179,8 +179,9 @@ class GenerateConfiguration : public Task { public: - WriteConfigProperty(const string& sep) : - _sep(sep) + WriteConfigProperty(const string& sep, const string& prefix) : + _sep(sep), + _prefix(prefix) { } @@ -188,18 +189,21 @@ class GenerateConfiguration : public Task string operator()(const Ice::PropertyDict::value_type& p) const { - return p.first + _sep + p.second; + return p.first + _sep + p.second.substr(_prefix.length()); } private: const string _sep; + const string _prefix; }; public: - GenerateConfiguration(const string& sep, const string& file, const Ice::PropertiesPtr& properties) : + GenerateConfiguration(const string& sep, const string& prefix, const string& file, + const Ice::PropertiesPtr& properties) : _sep(sep), + _prefix(prefix), _file(file), _properties(properties) { @@ -217,8 +221,9 @@ public: throw ex; } - Ice::PropertyDict props = _properties->getPropertiesForPrefix(""); - transform(props.begin(), props.end(), ostream_iterator<string>(configfile,"\n"), WriteConfigProperty(_sep)); + Ice::PropertyDict props = _properties->getPropertiesForPrefix(_prefix); + transform(props.begin(), props.end(), ostream_iterator<string>(configfile,"\n"), + WriteConfigProperty(_sep, _prefix)); configfile.close(); } @@ -236,6 +241,7 @@ public: private: const string _sep; + const string _prefix; const string _file; Ice::PropertiesPtr _properties; }; @@ -618,7 +624,7 @@ IcePack::ComponentBuilder::createConfigFile(const string& name) { assert(!name.empty()); _configFile = getVariable("datadir") + (name[0] == '/' ? name : "/" + name); - _tasks.push_back(new GenerateConfiguration("=", _configFile, _properties)); + _tasks.push_back(new GenerateConfiguration("=", "", _configFile, _properties)); } void @@ -823,7 +829,8 @@ IcePack::ComponentBuilder::undoFrom(vector<TaskPtr>::iterator p) } void -IcePack::ComponentBuilder::generateConfigFile(const string& sep, const string& path, const Ice::PropertiesPtr& props) +IcePack::ComponentBuilder::generateConfigFile(const string& sep, const string& prefix, const string& path, + const Ice::PropertiesPtr& props) { - _tasks.push_back(new GenerateConfiguration(sep, path, props)); + _tasks.push_back(new GenerateConfiguration(sep, prefix, path, props)); } |