void ObjectHost::commandDestroyObject(const Command::Command& cmd, Command::Commander* cmdr, Command::CommandID cmdid) { HostedObjectPtr ho = getCommandObject(cmd, cmdr, cmdid); if (!ho) return; Command::Result result = Command::EmptyResult(); ho->stop(); ho->destroy(); result.put("success", true); cmdr->result(cmdid, result); }
void ObjectHost::stop() { for(SpaceSessionManagerMap::iterator it = mSessionManagers.begin(); it != mSessionManagers.end(); it++) { SessionManager* sm = it->second; sm->stop(); } for(InternalIDHostedObjectMap::const_iterator it = mHostedObjectsByID.begin(); it != mHostedObjectsByID.end(); it++) { HostedObjectPtr ho = it->second.lock(); if (ho) ho->stop(); } }