Beispiel #1
0
        public void Say(string message)
        {
            if (string.IsNullOrEmpty(message))
            {
                throw new ArgumentException(Resources.Client_Join_Cannot_be_empty_or_null, "message");
            }

            IMessageCallback messageCallback = new MessageCallback(this._messageStatus);

            switch (this._roomVersion)
            {
            case RoomVersion.Base:
                RoomPrx room = RoomPrxHelper.checkedCast(this._roomAccess.RoomProxy.ice_context(this._context));
                room.begin_Say(message).whenCompleted(messageCallback.SayCallback, messageCallback.FailureCallback);
                break;

            case RoomVersion.V1:
                RoomAdmPrx roomAdm = RoomAdmPrxHelper.checkedCast(this._roomAccess.RoomProxy.ice_context(this._context), "V1");
                roomAdm.begin_Say(message).whenCompleted(messageCallback.SayCallback, messageCallback.FailureCallback);
                break;

            case RoomVersion.V2:
                RoomV2Prx roomV2 = RoomV2PrxHelper.checkedCast(this._roomAccess.RoomProxy.ice_context(this._context), "V2");
                roomV2.begin_Say(message, DateTime.Now.Ticks).whenCompleted(messageCallback.SayCallback, messageCallback.FailureCallback);
                break;
            }
        }
Beispiel #2
0
        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;
            }
        }