bool ParseRequest(WmOutlookRequest request) { bool success = false; try { m_kws = Wm.GetKwsByInternalID(request.Cmd.Elements[0].UInt64); m_flags = (OAnpType.OanpScreenShareFlags)request.Cmd.Elements[1].UInt32; m_hwnd = request.Cmd.Elements[2].UInt32; success = RegisterToKws(true); } catch (Exception ex) { HandleMiscFailure(ex); } return success; }
public OutlookCreateKwsOp(WorkspaceManager wm, WmOutlookRequest request) : base(wm, request, false) { }
public OutlookSkurlKwsOp(WorkspaceManager wm, WmOutlookRequest request) : base(wm, request, true) { }
public OutlookNewKwsOp(WorkspaceManager wm, WmOutlookRequest request, bool publicKwsFlag) : base(wm) { m_publicKwsFlag = publicKwsFlag; RegisterOutlookRequest(request); }
private void HandleWorkspaceSubscribe(WmOutlookRequest request) { (new OutlookWorkspaceSubscribeOp(m_wm, request)).StartOp(); }
bool ParseRequest(WmOutlookRequest request) { bool success = false; try { m_kws = Wm.GetKwsByInternalID(request.Cmd.Elements[0].UInt64); m_isSubscription = (request.Cmd.Elements[1].UInt32 != 0); m_lastEventID = request.Cmd.Elements[2].UInt64; success = true; } catch (Exception ex) { HandleMiscFailure(ex); } return success; }
public OutlookStartScreenShareOp(WorkspaceManager wm, WmOutlookRequest request) : base(wm) { RegisterOutlookRequest(request); }
public OutlookInviteOp(WorkspaceManager wm, Workspace kws, WmOutlookRequest request) : base(wm, kws) { RegisterOutlookRequest(request); }
private void HandleLookupRecAddr(WmOutlookRequest request) { (new OutlookLookupRecAddrOp(m_wm, request)).StartOp(); }
private void HandleJoinKws(WmOutlookRequest request) { (new OutlookJoinKwsOp(m_wm, request)).StartOp(); }
private void HandleIsKwsUser(WmOutlookRequest request) { UInt64 kwsID = request.Cmd.Elements[0].UInt64; UInt32 nbUser = request.Cmd.Elements[1].UInt32; List<String> addrList = new List<String>(); for (UInt32 i = 0; i < nbUser; i++) addrList.Add(request.Cmd.Elements[(int)i + 2].String); AnpMsg res = request.MakeReply(OAnpType.OANP_RES_IS_KWS_USER); res.AddUInt32(nbUser); Workspace kws = m_wm.GetKwsByInternalID(kwsID); foreach (String addr in addrList) { if (kws == null) res.AddUInt32(0); else res.AddUInt32(Convert.ToUInt32(kws.CoreData.UserInfo.GetUserByEmailAddress(addr) != null)); } request.SendReply(res); }
private void HandleInviteToKws(WmOutlookRequest request) { UInt64 kwsID = request.Cmd.Elements[0].UInt64; Workspace kws = m_wm.GetKwsByInternalID(kwsID); if (kws == null || kws.GetRunLevel() != KwsRunLevel.Online) throw new Exception("the " + Base.GetKwsString() + " is not available at this time"); (new OutlookInviteOp(m_wm, kws, request)).StartOp(); }
private void HandleGetSkurl(WmOutlookRequest request) { (new OutlookSkurlKwsOp(m_wm, request)).StartOp(); }
private void HandleCreateKws(WmOutlookRequest request) { (new OutlookCreateKwsOp(m_wm, request)).StartOp(); }
/// <summary> /// Called by WmOutlookRequest.SendReply(). /// </summary> public void SendReply(WmOutlookRequest request, AnpMsg msg) { if (request.Status == WmOutlookRequestStatus.Finished) return; if (request.Status == WmOutlookRequestStatus.Executing) { Debug.Assert(RequestTree.ContainsKey(request.MsgID)); Debug.Assert(m_sessionStatus == OutlookSessionStatus.Open); RequestTree.Remove(request.MsgID); SendAnpMsgToThread(msg); } request.Status = WmOutlookRequestStatus.Finished; }
public OutlookJoinKwsOp(WorkspaceManager wm, WmOutlookRequest request) : base(wm, new KwsCredentials(), wm.UiBroker.Browser.PrimaryFolder.FullPath, true) { RegisterOutlookRequest(request); }
/// <summary> /// Set the outlook request reference and listen for its failure. /// </summary> public virtual void RegisterOutlookRequest(WmOutlookRequest request) { m_outlookRequest = request; m_outlookRequest.OnOutlookFailure += HandleMiscFailure; }
private void HandleOpenKws(WmOutlookRequest request) { UInt64 kwsID = request.Cmd.Elements[0].UInt64; Workspace kws = m_wm.GetKwsByInternalID(kwsID); if (kws == null || kws.GetRunLevel() < KwsRunLevel.Offline) throw new Exception("the " + Base.GetKwsString() + " cannot be displayed at this time"); request.SendReply(request.MakeReply(OAnpType.OANP_RES_OK)); m_wm.UiBroker.RequestShowMainForm(); m_wm.UiBroker.RequestSelectKws(kws, true); }
public OutlookLookupRecAddrOp(WorkspaceManager wm, WmOutlookRequest request) : base(wm) { KwsCredentials creds = new KwsCredentials(); creds.SecureFlag = true; m_ih = new KwsInviteOpHelper(this, creds); m_ih.FillInviteParamsFromOutlookLookupRecCmd(request.Cmd); RegisterOutlookRequest(request); }
/// <summary> /// Handle a request received from Outlook. /// </summary> private void HandleOutlookRequest(AnpMsg msg) { Logging.Log(1, "HandleOutlookRequest() called."); if (RequestTree.ContainsKey(msg.ID)) { Logging.Log(2, "Received duplicate Outlook request ID."); return; } // Register the request. WmOutlookRequest request = new WmOutlookRequest(this, msg); RequestTree[request.MsgID] = request; try { // Validate version. if (msg.Major != OAnp.Major || msg.Minor != OAnp.Minor) throw new Exception("Unsupported OANP version " + msg.Major + "." + msg.Minor + "."); // Dispatch. UInt32 type = msg.Type; if (type == OAnpType.OANP_CMD_IS_KWS_USER) HandleIsKwsUser(request); else if (type == OAnpType.OANP_CMD_OPEN_KWS) HandleOpenKws(request); else if (type == OAnpType.OANP_CMD_JOIN_KWS) HandleJoinKws(request); else if (type == OAnpType.OANP_CMD_CREATE_KWS) HandleCreateKws(request); else if (type == OAnpType.OANP_CMD_INVITE_TO_KWS) HandleInviteToKws(request); else if (type == OAnpType.OANP_CMD_GET_SKURL) HandleGetSkurl(request); else if (type == OAnpType.OANP_CMD_LOOKUP_REC_ADDR) HandleLookupRecAddr(request); else if (type == OAnpType.OANP_CMD_WORKSPACE_SUBSCRIBE) HandleWorkspaceSubscribe(request); else if (type == OAnpType.OANP_CMD_START_SCREEN_SHARE) HandleStartScreenShare(request); else throw new Exception("unknown command received"); } catch (Exception ex) { request.SendFailure(ex.Message); } }
private void HandleStartScreenShare(WmOutlookRequest request) { (new OutlookStartScreenShareOp(m_wm, request)).StartOp(); }
public OutlookWorkspaceSubscribeOp(WorkspaceManager wm, WmOutlookRequest request) : base(wm) { RegisterOutlookRequest(request); }