diff options
Diffstat (limited to 'cpp/src/Ice/ObjectAdapterI.cpp')
-rw-r--r-- | cpp/src/Ice/ObjectAdapterI.cpp | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/cpp/src/Ice/ObjectAdapterI.cpp b/cpp/src/Ice/ObjectAdapterI.cpp index 57b253b67da..320ba1dd783 100644 --- a/cpp/src/Ice/ObjectAdapterI.cpp +++ b/cpp/src/Ice/ObjectAdapterI.cpp @@ -8,6 +8,7 @@ // // ********************************************************************** +#include <IceUtil/UUID.h> #include <Ice/ObjectAdapterI.h> #include <Ice/ServantLocator.h> #include <Ice/Instance.h> @@ -118,7 +119,7 @@ Ice::ObjectAdapterI::add(const ObjectPtr& object, const Identity& ident) } ObjectPrx -Ice::ObjectAdapterI::addTemporary(const ObjectPtr& object) +Ice::ObjectAdapterI::addWithUUID(const ObjectPtr& object) { IceUtil::Mutex::Lock sync(*this); @@ -127,20 +128,8 @@ Ice::ObjectAdapterI::addTemporary(const ObjectPtr& object) throw ObjectAdapterDeactivatedException(__FILE__, __LINE__); } - ostringstream s; - -#ifdef WIN32 - struct _timeb tb; - _ftime(&tb); - s << hex << '.' << tb.time << '.' << tb.millitm << '.' << rand(); -#else - timeval tv; - gettimeofday(&tv, 0); - s << hex << '.' << tv.tv_sec << '.' << tv.tv_usec / 1000 << '.' << rand(); -#endif - Identity ident; - ident.name = s.str(); + ident.name = IceUtil::generateUUID(); _activeServantMapHint = _activeServantMap.insert(_activeServantMapHint, make_pair(ident, object)); |