void LocatorRegistryI::setReplicatedAdapterDirectProxy_async( const AMD_LocatorRegistry_setReplicatedAdapterDirectProxyPtr& cb, const std::string& adapterId, const std::string& replicaGroupId, const ObjectPrx& proxy, const Current&) { Lock sync(*this); if(proxy) { _adapters[adapterId] = proxy; map<string, set<string> >::iterator p = _replicaGroups.find(replicaGroupId); if(p == _replicaGroups.end()) { p = _replicaGroups.insert(make_pair(replicaGroupId, set<string>())).first; } p->second.insert(adapterId); } else { _adapters.erase(adapterId); map<string, set<string> >::iterator p = _replicaGroups.find(replicaGroupId); if(p != _replicaGroups.end()) { p->second.erase(adapterId); if(p->second.empty()) { _replicaGroups.erase(p); } } } cb->ice_response(); }
virtual void setReplicatedAdapterDirectProxy_async(const AMD_LocatorRegistry_setReplicatedAdapterDirectProxyPtr& cb, const string&, const string&, const ObjectPrx&, const Current&) { cb->ice_response(); }