亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? useraccountmanager.cs

?? 飛信的收發使用csharp進行開發
?? CS
?? 第 1 頁 / 共 3 頁
字號:
?namespace Imps.Client.Pc
{
    using Imps.Client;
    using Imps.Client.Core;
    using Imps.Client.Pc.BizControls;
    using Imps.Client.Pc.BizControls.NotifyWindows;
    using Imps.Client.Pc.IPI.UI;
    using Imps.Client.Pc.Provsion2;
    using Imps.Client.Pc.Sensor;
    using Imps.Client.Resource;
    using Imps.Client.Utils;
    using Imps.Common;
    using Imps.Utils;
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Runtime.CompilerServices;
    using System.Text;
    using System.Windows.Forms;
    using System.Xml;

    public class UserAccountManager : IUserAccountManager, IInitializable
    {
        private Imps.Client.Core.User _currentUser;
        private Imps.Client.Pc.EntryPointControl _entryControl;
        private IFrameworkWindow _frameworkWnd;
        private ToolStripItem[] _menuItemsOperation;
        private ToolStripItem[] _menuItemsTrayIcon;
        private ToolStripItem[] _menuItemsUser;
        private ContextMenuStrip _miTrayIcon;
        private ToolStripMenuItem _miUser;
        private bool _msgBoxPending;
        private OfflineMsgSettingForm _offlineMsgForm;
        private ProvisionWizard _provsionWizard;
        private MouseKeyboardSensor _sensorMouseKey;
        private BUserInfoControl _userInfoControl;
        private const int BasicPresenceNum = 8;

        public event EventHandler<ImpsCancelEventArgs> BeforeUserLogOut;

        public event EventHandler<BeforeMainPresenceChangeEventArgs> BeforeUserMainPresenceChange;

        public UserAccountManager(IFrameworkWindow framework)
        {
            this._frameworkWnd = framework;
            this._currentUser = new Imps.Client.Core.User(framework.PersistentManager);
            this._currentUser.RegistrationNotifyReceived += new EventHandler<ImpsNotifyEventArgs>(this._currentUser_RegistrationNotifyReceived);
            this._entryControl = new Imps.Client.Pc.EntryPointControl(this);
            this._frameworkWnd.MainWindow.Closing += new CancelEventHandler(this._frameworkWnd_Closing);
            this._frameworkWnd.MainWindowLoaded += new EventHandler(this._frameworkWnd_Loaded);
            FunctionHelper.CurrentUser = this._currentUser;
        }

        private void _currentUser_RegistrationNotifyReceived(object sender, ImpsNotifyEventArgs e)
        {
            try
            {
                string title = e.Title ?? string.Empty;
                if (title.Length <= 0)
                {
                    title = AppDictionary.CurrentClientName;
                }
                SystemInfoNotify notifyWindow = new SystemInfoNotify(title, e.Text);
                notifyWindow.TimeToStay = 0x7fffffff;
                notifyWindow.Click += new EventHandler(this.notifyWnd_Click);
                NotifyWindowManager.Add(notifyWindow);
            }
            catch (Exception exception)
            {
                this._frameworkWnd.UnifiedMessageBox.ShowError(exception.ToString());
            }
        }

        private void _frameworkWnd_Closing(object sender, CancelEventArgs e)
        {
            try
            {
                bool cancel = false;
                this.Logout(ref cancel);
                if (cancel)
                {
                    e.Cancel = true;
                }
            }
            catch
            {
            }
        }

        private void _frameworkWnd_Loaded(object sender, EventArgs e)
        {
            if (!Imps.Client.Core.Configuration.FixedClientSetting.DuringDebug)
            {
                try
                {
                    SysLockSensor.PrepareEnvironment();
                    List<IPresenceSensor> list = new List<IPresenceSensor>(4);
                    try
                    {
                        SysLockSensor instance = SysLockSensor.GetInstance(this._frameworkWnd);
                        instance.Priority = 1;
                        instance.Name = "SysLockSensor";
                        list.Add(instance);
                    }
                    catch (Exception exception)
                    {
                        ClientLogger.WriteException("Initialize Sensor", exception);
                    }
                    try
                    {
                        FullScreenSensor item = new FullScreenSensor(this._frameworkWnd);
                        item.Priority = 2;
                        item.Name = "FullScreenSensor";
                        list.Add(item);
                    }
                    catch (Exception exception2)
                    {
                        ClientLogger.WriteException("Initialize Sensor", exception2);
                    }
                    try
                    {
                        ScreenSaverSensor sensor3 = new ScreenSaverSensor(this._frameworkWnd);
                        sensor3.Priority = 3;
                        sensor3.Name = "ScreenSaverSensor";
                        list.Add(sensor3);
                    }
                    catch (Exception exception3)
                    {
                        ClientLogger.WriteException("Initialize Sensor", exception3);
                    }
                    try
                    {
                        MouseKeyboardSensor sensor4 = new MouseKeyboardSensor(this._frameworkWnd);
                        sensor4.Priority = 4;
                        sensor4.Name = "MouseKeyboardSensor";
                        this._sensorMouseKey = sensor4;
                        list.Add(sensor4);
                    }
                    catch (Exception exception4)
                    {
                        ClientLogger.WriteException("Initialize Sensor", exception4);
                    }
                    if (list.Count > 0)
                    {
                        this.CurrentUser.Presence.RegisterSensors(list.ToArray());
                        GlobalTimer.Register(new EventHandler(this.Sensor_Tick), this._frameworkWnd.MainWindow, 10);
                    }
                }
                catch
                {
                }
            }
        }

        private void _miTrayIcon_Opening(object sender, CancelEventArgs e)
        {
            UiErrorHelper.HandEventSafely(this._frameworkWnd, delegate {
                UserAccountStatus status = this.CurrentUser.Status;
                switch (status)
                {
                    case UserAccountStatus.Logon:
                        this._menuItemsTrayIcon[0].Text = StringTable.Framework.MI_SignOut;
                        this._menuItemsTrayIcon[0].Enabled = true;
                        break;

                    case UserAccountStatus.Logoff:
                    case UserAccountStatus.Disconnected:
                    case UserAccountStatus.None:
                        this._menuItemsTrayIcon[0].Text = StringTable.Framework.MI_SignIn;
                        this._menuItemsTrayIcon[0].Enabled = true;
                        break;

                    default:
                        this._menuItemsTrayIcon[0].Enabled = false;
                        break;
                }
                this._menuItemsTrayIcon[1].Enabled = status == UserAccountStatus.Logon;
                this._menuItemsTrayIcon[4].Enabled = ((status == UserAccountStatus.None) || (status == UserAccountStatus.Logon)) || (status == UserAccountStatus.Logoff);
            });
        }

        private void _offlineMsgForm_FormClosed(object sender, FormClosedEventArgs e)
        {
        }

        private void BuildOperationMenuItems()
        {
            if (this._menuItemsOperation == null)
            {
                this._menuItemsOperation = new ToolStripItem[] { new ToolStripMenuItem(StringTable.Framework.MI_MsgHistory) };
                this._menuItemsOperation[0].Click += new EventHandler(this.miMsgHistory_Click);
            }
        }

        private void BuildTrayIconMenu()
        {
            this._miTrayIcon = new menu_widget(this._frameworkWnd.ComponentContainer);
            this._miTrayIcon.Opening += new CancelEventHandler(this._miTrayIcon_Opening);
            ToolStripSeparator separator = new ToolStripSeparator();
            separator.Enabled = false;
            ToolStripSeparator separator2 = new ToolStripSeparator();
            separator2.Enabled = false;
            if (this._menuItemsTrayIcon == null)
            {
                this._menuItemsTrayIcon = new ToolStripItem[8];
                int index = 0;
                this._menuItemsTrayIcon[index] = new ToolStripMenuItem(StringTable.Framework.MI_SignIn);
                this._menuItemsTrayIcon[index].Click += new EventHandler(this.miSignInOrSignOut_Click);
                this._menuItemsTrayIcon[++index] = new ToolStripMenuItem(StringTable.Framework.MI_MyStatus);
                ((ToolStripMenuItem) this._menuItemsTrayIcon[index]).DropDown = new menu_widget(this._frameworkWnd.ComponentContainer);
                ((menu_widget) ((ToolStripMenuItem) this._menuItemsTrayIcon[index]).DropDown).ShowCheckMargin = false;
                ((ToolStripMenuItem) this._menuItemsTrayIcon[index]).DropDownItems.AddRange(this.GetPresenceMenuItems(false));
                ((ToolStripMenuItem) this._menuItemsTrayIcon[index]).DropDownOpening += new EventHandler(this.miMyStatus_DropDownOpening);
                this._menuItemsTrayIcon[++index] = separator;
                this._menuItemsTrayIcon[++index] = new ToolStripMenuItem(StringTable.Framework.MI_ShowMain);
                this._menuItemsTrayIcon[index].Click += new EventHandler(this.miShowMain_Click);
                this._menuItemsTrayIcon[++index] = new ToolStripMenuItem(StringTable.Framework.MI_ToolsOptions);
                this._menuItemsTrayIcon[index].Click += new EventHandler(this.miToolsOptions_Click);
                this._menuItemsTrayIcon[++index] = new ToolStripMenuItem(string.Format(StringTable.Framework.MI_HelpAbout, AppDictionary.CurrentClientName));
                this._menuItemsTrayIcon[index].Click += new EventHandler(this.miHelpAbout_Click);
                this._menuItemsTrayIcon[++index] = separator2;
                this._menuItemsTrayIcon[++index] = new ToolStripMenuItem(string.Format(StringTable.Framework.MI_Exit, AppDictionary.CurrentClientName));
                this._menuItemsTrayIcon[index].Click += new EventHandler(this.miExit_Click);
            }
            this._miTrayIcon.Items.AddRange(this._menuItemsTrayIcon);
        }

        private void BuildUserMenuItems()
        {
            this._miUser = new ToolStripMenuItem();
            this._miUser.DropDown = new menu_widget(this._frameworkWnd.ComponentContainer);
            this._miUser.Text = StringTable.Framework.MI_User;
            this._miUser.DropDownOpening += new EventHandler(this.miUser_DropDownOpening);
            if (this._menuItemsUser == null)
            {
                List<ToolStripItem> list = new List<ToolStripItem>(9);
                ToolStripMenuItem item = new ToolStripMenuItem(StringTable.Framework.MI_Provisioning);
                item.Click += new EventHandler(this.miProvisioning_Click);
                list.Add(item);
                item = new ToolStripMenuItem(StringTable.Framework.MI_SignIn);
                item.Click += new EventHandler(this.miSignIn_Click);
                list.Add(item);
                item = new ToolStripMenuItem(StringTable.Framework.MI_SignOut);
                item.Click += new EventHandler(this.miSignOut_Click);
                list.Add(item);
                ToolStripSeparator separator = new ToolStripSeparator();
                separator.Enabled = false;
                list.Add(separator);
                item = new ToolStripMenuItem(StringTable.Framework.MI_PersonalInfo);
                item.Click += new EventHandler(this.miInfo_Click);
                list.Add(item);
                item = new ToolStripMenuItem(StringTable.Framework.MI_MyStatus);
                item.DropDown = new menu_widget(this._frameworkWnd.ComponentContainer);
                item.DropDownItems.AddRange(this.GetPresenceMenuItems(false));
                item.DropDownOpening += new EventHandler(this.miMyStatus_DropDownOpening);
                list.Add(item);
                item = new ToolStripMenuItem(StringTable.Framework.MI_MyService);
                item.DropDown = new menu_widget(this._frameworkWnd.ComponentContainer);
                foreach (string str in this.CurrentUser.SubscribedServices.Keys)
                {
                    ImpsService service = this.CurrentUser.SubscribedServices[str];
                    if (service.Subscribed)
                    {
                        item.DropDownItems.Add(new TagedToolStripMenuItem(str, string.Format("注銷{0}", service.Name), null, new EventHandler(this.SubscribeOrUnSubscribeServiceEventHandler)));
                        continue;
                    }
                    item.DropDownItems.Add(new TagedToolStripMenuItem(str, string.Format("開通{0}", service.Name), null, new EventHandler(this.SubscribeOrUnSubscribeServiceEventHandler)));
                }
                list.Add(item);
                ToolStripSeparator separator2 = new ToolStripSeparator();
                separator2.Enabled = false;
                list.Add(separator2);
                item = new ToolStripMenuItem(string.Format(StringTable.Framework.MI_Exit, AppDictionary.CurrentClientName));
                item.Click += new EventHandler(this.miExit_Click);
                list.Add(item);
                this._menuItemsUser = list.ToArray();
            }
            this._miUser.DropDownItems.AddRange(this._menuItemsUser);
        }

        private void ChangePresence(MainPresence presence, string desc)
        {
            BeforeMainPresenceChangeEventArgs e = new BeforeMainPresenceChangeEventArgs(presence);
            FuncDispatcher.OnEventHandler<BeforeMainPresenceChangeEventArgs>(this, this.BeforeUserMainPresenceChange, e);
            if (this.InnerContinueAfterImpsCancel(e, false))
            {
                this.CurrentUser.Presence.AsyncChangeMainPresence(presence, desc);
            }
        }

        public void DoLogin()
        {
            this.Login();
        }

        internal void DoPresenceMenuItemsOpening(ToolStripItemCollection presenceItems)
        {
            ToolStripItem item;
            UserPresence presence = this.CurrentUser.Presence;
            bool transmitBySmsAfterSingout = this.CurrentUser.Presence.TransmitBySmsAfterSingout;
            int num = 0;
            while ((item = presenceItems[num++]) is menu_radioitem)
            {
                CustomPresence tag = (CustomPresence) item.Tag;
                if (tag != null)
                {
                    ((menu_radioitem) item).Radioed = presence.MainPresence == tag.BasicPresence;
                }
            }
            num = 10;
            item = presenceItems[num++];
            ((menu_radioitem) item).Radioed = transmitBySmsAfterSingout;
            item = presenceItems[num];
            ((menu_radioitem) item).Radioed = !transmitBySmsAfterSingout;
            TimeSpan originalValue = this.CurrentUser.Presence.SmsStatus.OriginalValue;
            if ((!transmitBySmsAfterSingout && (originalValue > TimeSpan.Zero)) && (originalValue.Days < 30))
            {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品影视在线观看| 中文字幕制服丝袜成人av| 91视频在线观看| 丰满放荡岳乱妇91ww| 成人一区二区三区视频| 成人禁用看黄a在线| 国产 欧美在线| 91小视频免费观看| 在线一区二区三区四区| 91官网在线观看| 欧美高清性hdvideosex| 欧美一级二级在线观看| 日韩免费看网站| 久久精品欧美一区二区三区麻豆| 国产调教视频一区| 欧美精品在欧美一区二区少妇| 日韩一二三四区| 欧美一区二区播放| 国内外成人在线| 精品国产在天天线2019| 国产视频911| 国产精品成人网| 亚洲国产精品视频| 免费在线观看视频一区| 高清成人免费视频| 在线视频你懂得一区二区三区| 欧美在线观看视频一区二区 | 亚洲国产精品av| 中文字幕av资源一区| 一区二区三区免费观看| 免费人成精品欧美精品| www.亚洲色图.com| 欧美三级日韩三级国产三级| 精品福利av导航| 亚洲三级免费电影| 老司机精品视频一区二区三区| 国产v综合v亚洲欧| 6080国产精品一区二区| 中文字幕一区免费在线观看| 天堂成人免费av电影一区| 国产成人精品亚洲777人妖 | 性久久久久久久| 国产精品一区一区| 欧美日韩亚洲丝袜制服| 中文字幕巨乱亚洲| 麻豆91免费看| 精品污污网站免费看| 欧美国产97人人爽人人喊| 青青青爽久久午夜综合久久午夜| 一本久久a久久精品亚洲| 久久一夜天堂av一区二区三区| 一区二区三区色| av在线不卡观看免费观看| 亚洲精品一区二区三区蜜桃下载 | 国产视频在线观看一区二区三区| 亚洲专区一二三| 成人黄色软件下载| 精品福利av导航| 久久精品国产77777蜜臀| 欧美日韩视频不卡| 亚洲一区在线播放| 色综合天天天天做夜夜夜夜做| 国产调教视频一区| 国产精品12区| 国产亚洲短视频| 国产精品2024| 久久日韩精品一区二区五区| 麻豆精品新av中文字幕| 91精品国产黑色紧身裤美女| 偷拍与自拍一区| 欧美日本精品一区二区三区| 亚洲国产日韩a在线播放性色| 欧洲精品一区二区| 一区二区三区加勒比av| 在线视频一区二区三| 一区二区不卡在线视频 午夜欧美不卡在| 丁香婷婷深情五月亚洲| 国产欧美精品在线观看| 成人91在线观看| 亚洲久草在线视频| 91成人在线观看喷潮| 天堂va蜜桃一区二区三区漫画版 | 激情综合色播五月| 日韩欧美一卡二卡| 极品美女销魂一区二区三区免费 | 日本韩国精品在线| 夜夜精品视频一区二区| 欧美人牲a欧美精品| 久久99国产精品免费网站| 久久在线观看免费| 国产成人久久精品77777最新版本| 亚洲国产电影在线观看| 91丨九色丨蝌蚪富婆spa| 日韩一区欧美二区| 久久免费美女视频| 97久久精品人人澡人人爽| 亚洲激情自拍视频| 日韩欧美在线影院| 国产91精品一区二区麻豆网站| 亚洲午夜精品17c| 欧美一区日韩一区| 国产99久久久国产精品潘金| 亚洲精品国产第一综合99久久| 91精品国产综合久久蜜臀| 国产一区二区三区在线观看免费 | 日韩精品中午字幕| 成人黄色片在线观看| 天天综合日日夜夜精品| 久久综合九色综合欧美98| 91美女精品福利| 六月丁香综合在线视频| 国产精品视频一二三区| 欧美日韩国产影片| 福利一区二区在线| 日韩精品1区2区3区| 国产精品理论片在线观看| 91麻豆精品国产91久久久久久 | www.久久久久久久久| 亚洲va欧美va国产va天堂影院| 久久亚洲综合色一区二区三区| 91高清在线观看| 国产精品一区在线观看乱码| 日本在线不卡视频一二三区| 中文字幕视频一区| 精品国产成人系列| 欧美性猛片aaaaaaa做受| 成人性生交大片免费看视频在线| 舔着乳尖日韩一区| 亚洲精品国产品国语在线app| 亚洲国产精品av| 久久伊人蜜桃av一区二区| 欧美一级欧美三级在线观看| 欧洲国产伦久久久久久久| 懂色一区二区三区免费观看| 韩国在线一区二区| 美女视频一区二区三区| 五月激情综合色| 亚洲五码中文字幕| 亚洲男女毛片无遮挡| 国产精品久久久久久久第一福利 | 日本不卡一二三| 视频一区在线播放| 亚洲人成网站在线| 国产精品盗摄一区二区三区| 久久久久99精品一区| 精品av久久707| 亚洲精品一区二区三区精华液 | 亚洲资源中文字幕| 中文字幕亚洲在| 亚洲图片激情小说| 国产精品久久一级| 国产欧美日韩在线| 国产欧美1区2区3区| 亚洲国产高清aⅴ视频| 中文字幕av在线一区二区三区| 亚洲国产精品成人综合 | 精品国产麻豆免费人成网站| 91精品国产综合久久精品app| 欧洲激情一区二区| 欧美日韩免费一区二区三区 | 日韩女优电影在线观看| 3d动漫精品啪啪| 3d成人动漫网站| 欧美一级爆毛片| 久久久99久久| 亚洲国产高清aⅴ视频| 亚洲精品中文在线观看| 亚洲最新在线观看| 五月婷婷激情综合| 国产尤物一区二区在线| 丁香天五香天堂综合| 91麻豆国产在线观看| 欧洲生活片亚洲生活在线观看| 欧美视频日韩视频在线观看| 欧美一区二区三区视频免费| 久久蜜桃av一区二区天堂| 国产精品久久精品日日| 亚洲一级在线观看| 美国十次了思思久久精品导航| 黑人巨大精品欧美一区| 99精品黄色片免费大全| 欧美日韩精品久久久| 欧美xxxxxxxxx| 亚洲丝袜美腿综合| 蜜桃视频在线观看一区二区| 丁香六月久久综合狠狠色| 在线观看国产91| 久久久久久久久99精品| 夜夜揉揉日日人人青青一国产精品| 狠狠色综合日日| 欧美在线视频全部完| 久久精品亚洲一区二区三区浴池 | 欧美一区二区三区四区久久| 久久久.com| 日本午夜一本久久久综合| 99久久免费精品高清特色大片| 日韩一卡二卡三卡四卡| 亚洲欧美在线视频| 久久精品国产精品亚洲红杏| 欧美在线视频全部完|