Beispiel #1
0
        private void Login(string accessToken, string connectorHandle, AsyncNoResult ar, SubscriptionMode?mode = null)
        {
            vx_req_account_anonymous_login_t request = new vx_req_account_anonymous_login_t
            {
                account_handle              = _accountHandle,
                connector_handle            = connectorHandle,
                enable_buddies_and_presence = mode == null ? 0 : 1,
                acct_name    = Key.AccountName,
                displayname  = Key.DisplayName,
                languages    = string.Join(",", Key.SpokenLanguages),
                access_token = accessToken,
                participant_property_frequency = (int)_participantPropertyFrequency
            };

            if (mode != null)
            {
                request.buddy_management_mode = (vx_buddy_management_mode)mode.Value;
            }
            VxClient.Instance.BeginIssueRequest(request, result =>
            {
                try
                {
                    VxClient.Instance.EndIssueRequest(result);
                    State = LoginState.LoggedIn;
                    ar.SetComplete();
                }
                catch (Exception e)
                {
                    VivoxDebug.Instance.VxExceptionMessage($"{request.GetType().Name} failed: {e}");
                    State = LoginState.LoggedOut;
                    ar.SetComplete(e);
                    if (VivoxDebug.Instance.throwInternalExcepetions)
                    {
                        throw;
                    }
                    return;
                }
            });
        }
Beispiel #2
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(vx_req_account_anonymous_login_t obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }