diff options
author | Benoit Foucher <benoit@zeroc.com> | 2006-12-20 11:43:28 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2006-12-20 11:43:28 +0000 |
commit | c82cf1603af8c524b6aa2beeee665a24b777f33e (patch) | |
tree | 8a5fc14704b05d7826e1f84cb435e4ed6f83d299 /cpp/src/IceGrid/Util.cpp | |
parent | More slice2html changes. (diff) | |
download | ice-c82cf1603af8c524b6aa2beeee665a24b777f33e.tar.bz2 ice-c82cf1603af8c524b6aa2beeee665a24b777f33e.tar.xz ice-c82cf1603af8c524b6aa2beeee665a24b777f33e.zip |
- Added internal descriptor types for node-registry communications
- Various bug fixes
Diffstat (limited to 'cpp/src/IceGrid/Util.cpp')
-rw-r--r-- | cpp/src/IceGrid/Util.cpp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/cpp/src/IceGrid/Util.cpp b/cpp/src/IceGrid/Util.cpp index b9379258755..895dc8cbde7 100644 --- a/cpp/src/IceGrid/Util.cpp +++ b/cpp/src/IceGrid/Util.cpp @@ -72,3 +72,60 @@ IceGrid::getProperty(const PropertyDescriptorSeq& properties, const string& name } return def; } + +PropertyDescriptor +IceGrid::createProperty(const string& name, const string& value) +{ + PropertyDescriptor prop; + prop.name = name; + prop.value = value; + return prop; +} + +int +IceGrid::getMMVersion(const string& version) +{ + string::size_type minorPos = version.find('.'); + if(minorPos == string::npos || minorPos >= version.size()) + { + return -1; + } + string::size_type patchPos = version.find('.', minorPos + 1); + + int v, ver; + + istringstream major(version.substr(0, minorPos)); + major >> v; + if(major.fail() || v > 99 || v < 1) + { + return -1; + } + ver = v; + ver *= 100; + + istringstream minor(version.substr(minorPos + 1, patchPos != string::npos ? patchPos : version.size())); + minor >> v; + if(minor.fail() || v > 99 || v < 0) + { + return -1; + } + ver += v; + ver *= 100; + + // + // No need to get the patch number, we're only interested in + // MAJOR.MINOR + // +// if(patchPos != string::npos) +// { +// istringstream patch(version.substr(patchPos + 1)); +// patch >> v; +// if(patch.fail() || v > 99 || v < 0) +// { +// return -1; +// } +// ver += v; +// } + + return ver; +} |