public void Leave() { try { switch (this._roomVersion) { case RoomVersion.Base: RoomPrx room = RoomPrxHelper.checkedCast(this._roomAccess.RoomProxy.ice_context(this._context)); room.LeaveRoom(); break; case RoomVersion.V1: RoomAdmPrx roomAdm = RoomAdmPrxHelper.checkedCast(this._roomAccess.RoomProxy.ice_context(this._context), "V1"); roomAdm.LeaveRoom(); break; case RoomVersion.V2: RoomV2Prx roomV2 = RoomV2PrxHelper.checkedCast(this._roomAccess.RoomProxy.ice_context(this._context), "V2"); roomV2.LeaveRoom(); break; } } finally { this._jobQueue.Destroy(); this._jobQueue.Join(); this._jobQueue = null; } }