예제 #1
0
        private void StopSpeakCallback(IntPtr pData)
        {
            // NO Callback Message!!!!!!

            ReturnMessage stopSpeakMessage = ReturnMessage.GenerateMessage(string.Empty);

            SetResult("StopSpeak", stopSpeakMessage);
            StopSpeakEvent?.Invoke();
        }
        public Task <ReturnMessage> SetRecordDirectory(string recordDir)
        {
            int result = MeetingAgent.SetRecordDirectory(recordDir);

            if (result != 0)
            {
                return(Task.FromResult(MessageManager.FailedToSetRecordDirectory));
            }
            return(Task.FromResult(ReturnMessage.GenerateMessage("")));
        }
예제 #3
0
        private void ApplyToSpeakCallback(IntPtr pData)
        {
            AsynCallResult applyResult = (AsynCallResult)Marshal.PtrToStructure(pData, typeof(AsynCallResult));

            ReturnMessage applyMessage;

            if (applyResult.m_rc == 0)
            {
                applyMessage = ReturnMessage.GenerateMessage(applyResult.m_message);
            }
            else
            {
                applyMessage = ReturnMessage.GenerateError(applyResult.m_message, applyResult.m_rc.ToString());
            }

            SetResult("ApplyToSpeak", applyMessage);
        }
예제 #4
0
        private void InviteCallback(IntPtr pData)
        {
            AsynCallResult result = (AsynCallResult)Marshal.PtrToStructure(pData, typeof(AsynCallResult));

            ReturnMessage inviteReturnMessage;

            if (result.m_rc == 0)
            {
                inviteReturnMessage = ReturnMessage.GenerateMessage(result.m_message);
            }
            else
            {
                inviteReturnMessage = ReturnMessage.GenerateError(result.m_message, result.ToString());
            }

            SetResult("InviteParticipants", inviteReturnMessage);
        }
예제 #5
0
        private void StartShareDocCallback(IntPtr pData)
        {
            AsynCallResult asynCallRulst = (AsynCallResult)Marshal.PtrToStructure(pData, typeof(AsynCallResult));

            ReturnMessage startDocMessage;

            if (asynCallRulst.m_rc == 0)
            {
                startDocMessage = ReturnMessage.GenerateMessage(asynCallRulst.m_message);
            }
            else
            {
                startDocMessage = ReturnMessage.GenerateError(asynCallRulst.m_message, asynCallRulst.m_rc.ToString());
            }

            SetResult("StartShareDoc", startDocMessage);
        }
예제 #6
0
        public Task <ReturnMessage> CloseQosView()
        {
            Task <ReturnMessage> checkTask = CheckMeetingServerStatus();

            if (checkTask != null)
            {
                return(checkTask);
            }

            int result = MeetingAgent.CloseQosView();

            if (result != 0)
            {
                return(Task.FromResult(MessageManager.CloseQosFailure));
            }

            return(Task.FromResult(ReturnMessage.GenerateMessage("")));
        }
예제 #7
0
        private void SendUiMessageCallback(IntPtr pData)
        {
            var sendUiMsgResult = (AsynCallResult)Marshal.PtrToStructure(pData, typeof(AsynCallResult));

            ReturnMessage sendUiReturnMessage;

            if (sendUiMsgResult.m_rc == 0)
            {
                sendUiReturnMessage = ReturnMessage.GenerateMessage(sendUiMsgResult.m_message);
            }
            else
            {
                sendUiReturnMessage = ReturnMessage.GenerateError(sendUiMsgResult.m_message,
                                                                  sendUiMsgResult.m_rc.ToString());
            }

            SetResult("SendUIMessage", sendUiReturnMessage);
        }
예제 #8
0
        private void ExitMeetingCallback(IntPtr pData)
        {
            var exitMeetingResult = (AsynCallResult)Marshal.PtrToStructure(pData, typeof(AsynCallResult));

            ReturnMessage exitMessage;

            if (exitMeetingResult.m_rc == 0)
            {
                exitMessage = ReturnMessage.GenerateMessage(exitMeetingResult.m_message);
            }
            else
            {
                exitMessage = ReturnMessage.GenerateError(exitMeetingResult.m_message, exitMeetingResult.m_rc.ToString());
            }

            ExitMeetingEvent?.Invoke();

            SetResult("ExitMeeting", exitMessage);
        }
예제 #9
0
        private void QueryMeetingExistCallback(IntPtr pData)
        {
            var queryMeetingExistResult =
                (AsynCallResult)Marshal.PtrToStructure(pData, typeof(AsynCallResult));

            ReturnMessage queryMeetingMsg;

            if (queryMeetingExistResult.m_rc == 0)
            {
                queryMeetingMsg = ReturnMessage.GenerateMessage(queryMeetingExistResult.m_message);
            }
            else
            {
                queryMeetingMsg = ReturnMessage.GenerateError(queryMeetingExistResult.m_message,
                                                              queryMeetingExistResult.m_rc.ToString());
            }

            SetResult("QueryMeetingExist", queryMeetingMsg);
        }
예제 #10
0
        private void StartCallback(IntPtr pData)
        {
            StartResult startResult = (StartResult)Marshal.PtrToStructure(pData, typeof(StartResult));

            IsServierStarted = startResult.m_result.m_rc == 0;

            ReturnMessage startReturnMessage;

            if (startResult.m_result.m_rc == 0)
            {
                CurrentAttendee.Id   = GlobalData.Instance.Classroom.SchoolRoomNum;
                CurrentAttendee.Name = GlobalData.Instance.Classroom.SchoolRoomName;
                IsServierStarted     = true;
                startReturnMessage   = ReturnMessage.GenerateMessage(startResult.m_result.m_message);
            }
            else
            {
                IsServierStarted   = false;
                startReturnMessage = ReturnMessage.GenerateError(startResult.m_result.m_message);
            }

            SetResult("Start", startReturnMessage);
        }