diff options
author | Marc Laukien <marc@zeroc.com> | 2001-10-22 22:56:04 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2001-10-22 22:56:04 +0000 |
commit | a294c79349e52b124528a820432a11f471347872 (patch) | |
tree | 3a27e01d8bc85884d75a574b5b6f13bd7eeae044 /cpp/src/Ice/Object.cpp | |
parent | more objects demo stuff (diff) | |
download | ice-a294c79349e52b124528a820432a11f471347872.tar.bz2 ice-a294c79349e52b124528a820432a11f471347872.tar.xz ice-a294c79349e52b124528a820432a11f471347872.zip |
more test stuff
Diffstat (limited to 'cpp/src/Ice/Object.cpp')
-rw-r--r-- | cpp/src/Ice/Object.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/cpp/src/Ice/Object.cpp b/cpp/src/Ice/Object.cpp index 82a527f4e5c..029d925f301 100644 --- a/cpp/src/Ice/Object.cpp +++ b/cpp/src/Ice/Object.cpp @@ -126,6 +126,39 @@ Ice::Object::__isMutating(const std::string& s) } void +Ice::Object::__write(::IceInternal::BasicStream* __os) const +{ + JTCSyncT<JTCMutex> sync(_activeFacetMapMutex); + + __os->write(Int(_activeFacetMap.size())); + for (map<string, ObjectPtr>::const_iterator p = _activeFacetMap.begin(); p != _activeFacetMap.end(); ++p) + { + __os->write(p->first); + __os->write(p->second); + } +} + +void +Ice::Object::__read(::IceInternal::BasicStream* __is) +{ + JTCSyncT<JTCMutex> sync(_activeFacetMapMutex); + + Int sz; + __is->read(sz); + + _activeFacetMap.clear(); + _activeFacetMapHint = _activeFacetMap.end(); + + while (sz-- > 0) + { + pair<string, ObjectPtr> v; + __is->read(v.first); + __is->read("", v.second); + _activeFacetMapHint = _activeFacetMap.insert(_activeFacetMapHint, v); + } +} + +void Ice::Object::_addFacet(const ObjectPtr& facet, const string& name) { JTCSyncT<JTCMutex> sync(_activeFacetMapMutex); |