summaryrefslogtreecommitdiff
path: root/cpp/src/IceGrid/Util.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2006-12-20 11:43:28 +0000
committerBenoit Foucher <benoit@zeroc.com>2006-12-20 11:43:28 +0000
commitc82cf1603af8c524b6aa2beeee665a24b777f33e (patch)
tree8a5fc14704b05d7826e1f84cb435e4ed6f83d299 /cpp/src/IceGrid/Util.cpp
parentMore slice2html changes. (diff)
downloadice-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.cpp57
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;
+}