예제 #1
0
        void OnHosts(string data)
        {
            HostsDatabase.Clear(false);

            foreach (var entry in data.Split('|'))
            {
                var param = entry.Split('/');
                if (param.Length == 4)
                {
                    HostsDatabase.Add(false,
                                      param[0].Unescape(EscapeLanguage.Xml),
                                      param[1].Unescape(EscapeLanguage.Xml),
                                      param[2].Unescape(EscapeLanguage.Xml),
                                      param[3] == "1");
                }
            }

            HostsDatabase.Save();
            EventCallbackSystem.InvokeCallback("HostsListUpdated", true);

            HostsDatabase.Lock();
            int numberOfHosts = HostsDatabase.Hosts.Count();

            HostsDatabase.Unlock();
            Logger.Log(LogType.Debug, "Received {0} hosts from server.", numberOfHosts.FormatNumber());
        }
예제 #2
0
        void OnRemoveDomain(string data)
        {
            if (HostsDatabase.Remove(false, data.Unescape(EscapeLanguage.Xml)))
            {
                HostsDatabase.Save();
                EventCallbackSystem.InvokeCallback("HostsListUpdated", true);

                Logger.Log(LogType.Debug,
                           "Removed domain {0}",
                           data.Unescape(EscapeLanguage.Xml));
            }
        }
예제 #3
0
        void OnAddDomain(string data)
        {
            var param = data.Split('/');

            if (param.Length == 4)
            {
                HostsDatabase.Add(false,
                                  param[0].Unescape(EscapeLanguage.Xml),
                                  param[1].Unescape(EscapeLanguage.Xml),
                                  param[2].Unescape(EscapeLanguage.Xml),
                                  param[3] == "1");
                HostsDatabase.Save();
                EventCallbackSystem.InvokeCallback("HostsListUpdated", true);

                Logger.Log(LogType.Debug,
                           "Added domain {0} = {1}",
                           param[0].Unescape(EscapeLanguage.Xml),
                           param[1].Unescape(EscapeLanguage.Xml));
            }
        }
예제 #4
0
        void OnLogedin(string data)
        {
            _isAuthorized = true;

            EventCallbackSystem.InvokeCallback("ClientAuthorized");
        }