Пример #1
0
        private static void Server_Received(byte[] buf)
        {
            CommunicationData msg = (CommunicationData)Serialization.Deserialize(buf);

            switch (msg.Command)
            {
            case "Start":
                startScan();
                break;

            case "Stop":
                stopScan();
                break;

            case "GetState":
                getState();
                break;

            case "GetConfig":
                sendGetConfig(msg);
                break;

            case "SaveConfig":
                sendSaveConfig(msg);
                break;
            }
        }
Пример #2
0
        private void SendData(string module, DataType type, object data)
        {
            var communicationData = new CommunicationData(type, data);
            var thread            = _info.SendData(nameof(WebUi), module, communicationData);

            thread?.Join();
        }
Пример #3
0
        private void sendCD(int?line_line_id, int issueId, string msg, string subject)
        {
            var    time         = DateTime.Now;
            string current_time = time.ToString("yyyy-MM-dd HH:mm:ss");
            var    date         = DateTime.ParseExact(current_time, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);


            using (issue_management_systemEntities1 db = new issue_management_systemEntities1())
            {
                var userDetails = db.User_tbl.Where(x => x.Role == "manager").ToList();
                foreach (var item in userDetails)
                {
                    string query = "INSERT INTO tbl_Notifications ([Status],[Message],[Type],[EmployeeNumber],[Date]) VALUES( 1,'" + msg + "','issue','" + item.EmployeeNumber + "','" + date + "') ";
                    db.Database.ExecuteSqlCommand(query);
                }


                var communicationInfo = db.issue_line_person.Where(x => x.line_id == line_line_id && x.issue_id == issueId).ToList();
                foreach (var item in communicationInfo)
                {
                    var personInfo       = db.User_tbl.Where(y => y.EmployeeNumber == item.EmployeeNumber).FirstOrDefault();
                    CommunicationData cd = new CommunicationData(personInfo.Phone, msg, personInfo.EMail, item.email, item.call, item.message, personInfo.EmployeeNumber, subject);
                    com.setCD(cd);
                }
            }
        }
Пример #4
0
        public DyConfig GetConfig()
        {
            this.client.Connect("device", 12001);
            CommunicationData msg = new CommunicationData();

            msg.ClientIP   = this.client.Client.LocalEndPoint.ToString().Split(":")[0];
            msg.ClientPort = int.Parse(this.client.Client.LocalEndPoint.ToString().Split(":")[1]);
            msg.Command    = "GetConfig";
            NetworkStream ns = this.client.GetStream();

            byte[] buf = Serialization.Serialize(msg);
            ns.Write(buf, 0, buf.Length);
            byte[] readData = new byte[client.ReceiveBufferSize];
            int    readByte = ns.Read(readData, 0, readData.Length);

            if (readByte == 0)
            {
                return(default(DyConfig));
            }
            this.client.Close();
            byte[] data = new byte[readByte];
            Array.Copy(readData, data, readByte);
            CommunicationData receive = (CommunicationData)Serialization.Deserialize(data);

            return((DyConfig)receive.Data);
        }
Пример #5
0
        private static void sendGetConfig(CommunicationData msg)
        {
            DyConfig config = AppConfig.GetConfig();

            msg.Data = config;
            byte[] buf = Serialization.Serialize(msg);
            server.Send(buf, msg.ClientIP, msg.ClientPort);
        }
        public static async Task <CommunicationsResults> GetLinkBudget(CommunicationData commData)
        {
            string relativeUri = ServiceUris.CommunicationsLinkBudgetUri;

            commData.Verify();

            var uri = Networking.GetFullUri(relativeUri);

            return(await Networking.HttpPostCall <CommunicationData, CommunicationsResults>(uri, commData));
        }
        private void doCommunicate()
        {
            if (gsm_status)
            {
                CommunicationData communicateData = (CommunicationData)numberList.Dequeue();
                try
                {
                    var    time         = DateTime.Now;
                    string current_time = time.ToString("yyyy-MM-dd HH:mm:ss");
                    var    date         = DateTime.ParseExact(current_time, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
                    gsm_status = false;
                    var msg          = communicateData.getMsg();
                    var emailAddress = communicateData.getEmailAddress();
                    var mobileNumber = communicateData.getNumber();


                    if (communicateData.getEmail() == 1 && emailAddress != null)
                    {
                        sendMail(emailAddress, msg, communicateData.getsubject());
                        using (issue_management_systemEntities1 db = new issue_management_systemEntities1())
                        {
                            string query = "INSERT INTO tbl_Notifications ([Status],[Message],[Type],[EmployeeNumber],[Date]) VALUES( 1,'" + msg + "','email','" + communicateData.getEmployeeNumber() + "','" + date + "') ";
                            db.Database.ExecuteSqlCommand(query);
                        }
                    }

                    if (communicateData.getMessage() == 1 && mobileNumber != null)
                    {
                        send_SMS(mobileNumber, msg);
                    }



                    if (communicateData.getCall() == 1 && mobileNumber != null)
                    {
                        take_Call(mobileNumber, msg);
                    }

                    gsm_status = true;
                }
                catch (Exception ex)
                {
                    Debug.WriteLine(ex);
                    gsm_status = true;
                }
            }
            else
            {
                int milliseconds = 2000;
                Thread.Sleep(milliseconds);
                doCommunicate();
            }
        }
Пример #8
0
        /// <summary>
        /// Méthode qui écoute le réseau en permanence en quête d'un message UDP sur le port 1523.
        /// </summary>
        private void EcouterReseau()
        {
            //Création d'un Socket qui servira de serveur de manière sécurisé
            UdpClient serveur  = null;
            bool      erreur   = false;
            int       attempts = 0;

            //J'essaie 3 fois car je veux éviter un plantage au serveur juste pour une question de millisecondes.
            do
            {
                try
                {
                    serveur = new UdpClient(1523);
                }
                catch
                {
                    erreur = true;
                    attempts++;
                    Thread.Sleep(400);
                }
            } while (erreur && attempts < 4);

            // Si c'est vraiment impossible de se lier, on en informe le serveur et on quitte le thread.
            if (serveur == null)
            {
                this.Invoke(new Action <string>(AjouterLog), "Il est impossible de se lier au port 1523. Vérifiez votre configuration réseau.");
                this.Invoke(new Action <bool>(Arreter), false);
                return;
            }

            serveur.Client.ReceiveTimeout = 1000;

            //Boucle infinie d'écoute du réseau
            while (_continuer)
            {
                try
                {
                    IPEndPoint ip   = null;
                    byte[]     data = serveur.Receive(ref ip);

                    //Préparation des données à l'aide de la classe interne.
                    CommunicationData cd = new CommunicationData(ip, data);

                    //on lance un nouveau thread avec les données en paramètre.
                    new Thread(new ParameterizedThreadStart(TraiterMessage)).Start(cd);
                }
                catch
                {
                }
            }

            serveur.Close();
        }
Пример #9
0
 public override void ProcessDataFromOtherModule(string moduleName, CommunicationData data)
 {
     base.ProcessDataFromOtherModule(moduleName, data);
     switch (data.Type)
     {
     case DataType.EpgChannelUpdate:
         Logger.Info($"Received EpgChannelUpdate from {moduleName}");
         _channelList.ToggleChannel(data.Data as EpgChannelUpdate);
         _nextRetrieval = DateTime.Now;
         break;
     }
 }
Пример #10
0
        public void SaveConfig(DyConfig config)
        {
            this.client.Connect("device", 12001);
            CommunicationData msg = new CommunicationData();

            msg.Command = "SaveConfig";
            msg.Data    = config;
            byte[]        buf = Serialization.Serialize(msg);
            NetworkStream ns  = this.client.GetStream();

            ns.Write(buf, 0, buf.Length);
            this.client.Close();
        }
Пример #11
0
        public override void ProcessDataFromOtherModule(string moduleName, CommunicationData data)
        {
            base.ProcessDataFromOtherModule(moduleName, data);
            switch (data.Type)
            {
            case DataType.Epg:
                UpdateEpg(data.Data.ToString());
                break;

            case DataType.TvHeadendChannelUpdate:
                UpdateTvhConfiguration(data.Data as TvHeadendChannelUpdate);
                break;
            }
        }
Пример #12
0
        /// <summary>
        /// Méthode en charge de traiter un message entrant.
        /// </summary>
        /// <param name="messageArgs"></param>
        private void TraiterMessage(object messageArgs)
        {
            try
            {
                //On récupère les données entrantes et on les formatte comme il faut.
                CommunicationData data    = messageArgs as CommunicationData;
                string            message = string.Format("{0}:{1} > {2}", data.Client.Address.ToString(), data.Client.Port, Encoding.Default.GetString(data.Data));

                //On renvoie le message formatté à travers le réseau.
                byte[] donnees = Encoding.Default.GetBytes(message);
                _broadcaster.Send(donnees, donnees.Length);
                this.Invoke(new Action <string>(AjouterLog), message);
            }
            catch { }
        }
Пример #13
0
    private void ProcessMessage(object messageArgs)
    {
        try
        {
            CommunicationData data    = messageArgs as CommunicationData;
            string            message = string.Format("{0}:{1} > {2}", data.Client.Address.ToString(), data.Client.Port, Encoding.Default.GetString(data.Data));

            //Send over network
            byte[] donnees = Encoding.Default.GetBytes(message);
            _broadcaster.Send(donnees, donnees.Length);

            //Debug.Log("Server : broadcasting on network " + message);
        }
        catch { }
    }
    public List <CommunicationData> RetrieveMessages()
    {
        List <CommunicationData> data = new List <CommunicationData>();

        for (int i = 0; i < _messages.Count; i++)
        {
            CommunicationData message = (CommunicationData)_messages[i];
            if (message.Reciever == this._name)
            {
                data.Add(message);
                //_messages.RemoveAt(i);
            }
        }
        _messages.Clear();
        return(data);
    }
Пример #15
0
    private void ListenNetwork()
    {
        UdpClient server   = null;
        bool      erreur   = false;
        int       attempts = 0;

        do
        {
            try
            {
                server = new UdpClient(this.listeningPort);
            }
            catch
            {
                erreur = true;
                attempts++;
                Thread.Sleep(400);
            }
        } while (erreur && attempts < 4);

        if (server == null)
        {
            Debug.Log("Verify the network configuration ...");
            this.StopServer(false);
            return;
        }

        server.Client.ReceiveTimeout = 1000;

        //Listening loop
        while (_continue)
        {
            try
            {
                IPEndPoint ip   = null;
                byte[]     data = server.Receive(ref ip);

                CommunicationData cd = new CommunicationData(ip, data);
                new Thread(new ParameterizedThreadStart(ProcessMessage)).Start(cd);
            }
            catch
            {
            }
        }
        server.Close();
    }
Пример #16
0
 public override void Init(bool UserSoure = true)
 {
     Name = Content["0"];
     army = InitParaByDynamic <Army>(UserSoure, "Army", "");
     CommunicationEntry = InitParaByStatic <CommunicationData>(UserSoure, "CommunicationEntry", "");
     if (CommunicationEntry == null)
     {
         CommunicationEntry = Game.StaticDataManager.GetGameData <CommunicationData>("DefautTalk");
     }
     Money          = InitIntValue("Money");
     MapUnitPostion = InitStringValue("MapPostion");
     if (army != null)
     {
         army.SetKing(this);
     }
     Skills = InitParas <Skill>(UserSoure, "Skill", Skills.Length, Game.DynamicDataManager);
 }
    public void ShowCommunication(King ToKing, CommunicationData data)
    {
        Show();
        ClearnActon();

        Comms.Add(data);
        if (data.SkillOnclick != null)
        {
            data.SkillOnclick.DoSkill(Game.Player, ToKing);
        }

        if ("End" == data.ContentStr)
        {
            CloseCommunication();
        }

        m_ForNameText.text = ToKing.Name;
        m_ContentStr.text  = data.ContentStr;

        if (data.NextComm != null && data.NextComm.Count > 0)
        {
            foreach (var item in data.NextComm)
            {
                AddAction(item.Key, () =>
                {
                    ShowCommunication(ToKing, item.Value);
                });
                item.Value.LastCons = data;
            }
            if (data.CanBack && data.LastCons != null)
            {
                AddAction("返回", () => { ShowCommunication(ToKing, data.LastCons); });
            }
        }
        else
        {
            if (data.CanBack && data.LastCons != null)
            {
                AddAction("返回", () => { ShowCommunication(ToKing, data.LastCons); });
            }

            AddAction("结束", () => { CloseCommunication(); });
        }
    }
Пример #18
0
        public override void ProcessDataFromOtherModule(string moduleName, CommunicationData data)
        {
            if (!ShouldWeProcessNewData(moduleName, data.Type))
            {
                return;
            }
            Logger.Info($"Handle new {data.Type} from {moduleName} with value {data.Data}");
            string keyblockFile = null;

            if (data.Data != null)
            {
                keyblockFile = data.Data.ToString();
            }
            _keyblock.Prepare(keyblockFile);
            lock (_syncObject)
            {
                _activeClients.ForEach(c => c.RefreshKeyblock(keyblockFile));
            }
        }
Пример #19
0
    public GameData CreateGameData(GameData item, bool init = true, bool UserSoure = true) //复制  未知类型时
    {
        GameData data = null;

        if (item == null)
        {
            return(null);
        }
        switch (item.DataType)
        {
        case GameDataType.King: data = new King(item, init, UserSoure); break;

        case GameDataType.Army: data = new Army(item, init, UserSoure); break;

        case GameDataType.Team: data = new Team(item, init, UserSoure); break;

        case GameDataType.Hero: data = new Hero(item, init, UserSoure); break;

        case GameDataType.TeamBuff: data = new TeamBuff(item, init, UserSoure); break;

        case GameDataType.UnitBuff: data = new UnitBuff(item, init, UserSoure); break;

        case GameDataType.Skill: data = new Skill(item, init, UserSoure); break;

        case GameDataType.City: data = new City(item, init, UserSoure); break;

        case GameDataType.UnitSetting: data = new UnitSetting(item, init, UserSoure); break;

        case GameDataType.Unit: data = new Unit(item, init, UserSoure); break;

        case GameDataType.ConversationData: data = new CommunicationData(item, init, UserSoure); break;

        case GameDataType.Other: data = new GameData(item); break;

        case GameDataType.DynamicGameSetting: data = new DynamicGameSetting(item); break;

        case GameDataType.StaticGameSetting: data = new StaticGameSetting(item); break;

        default: break;
        }
        return(data);
    }
Пример #20
0
    public GameData CreateGameData(GameDataType type, string name) //这是为方便GameDataEditWindow  未知类型时
    {
        GameData data = null;

        if (string.IsNullOrEmpty(name))
        {
            return(null);
        }
        switch (type)
        {
        case GameDataType.King: data = new King(name); break;

        case GameDataType.Army: data = new Army(name); break;

        case GameDataType.Team: data = new Team(name); break;

        case GameDataType.Hero: data = new Hero(name); break;

        case GameDataType.TeamBuff: data = new TeamBuff(name); break;

        case GameDataType.UnitBuff: data = new UnitBuff(name); break;

        case GameDataType.Skill: data = new Skill(name); break;

        case GameDataType.City: data = new City(name); break;

        case GameDataType.UnitSetting: data = new UnitSetting(name); break;

        case GameDataType.Unit: data = new Unit(name); break;

        case GameDataType.ConversationData: data = new CommunicationData(name); break;

        case GameDataType.Other: data = new GameData(GameDataType.Other, name); break;

        case GameDataType.DynamicGameSetting: data = new DynamicGameSetting(name); break;

        case GameDataType.StaticGameSetting: data = new StaticGameSetting(name); break;

        default: break;
        }
        return(data);
    }
Пример #21
0
        private void Listen()
        {
            //Création d'un Socket qui servira de serveur de manière sécurisée.
            UdpClient serveur2 = null;
            bool erreur = false;
            int attempts = 0;

            //J'essaie 3 fois car je veux éviter un plantage au serveur juste pour une question de millisecondes.
            do
            {
                try
                {
                    serveur2 = new UdpClient(1523);
                }
                catch
                {
                    erreur = true;
                    attempts++;
                    Thread.Sleep(400);
                }
            } while (erreur && attempts < 4);

            //Si c'est vraiment impossible de se lier, on en informe le serveur et on quitte le thread.
            if (serveur == null)
            {
                this.Invoke(new Action<string>(log), "Il est impossible de se lier au port 1523. Vérifiez votre configuration réseau.");
                this.Invoke(new Action<bool>(stop), false);
                return;
            }

            serveur2.Client.ReceiveTimeout = 1000;

            //Boucle infinie d'écoute du réseau.
            while (conti)
            {
                try
                {
                    IPEndPoint ip = null;
                    byte[] data = serveur2.Receive(ref ip);

                    //Préparation des données à l'aide de la classe interne.
                    CommunicationData cd = new CommunicationData(ip, data);
                    //On lance un nouveau thread avec les données en paramètre.
                    new Thread(new ParameterizedThreadStart(TraiterMessage)).Start(cd);
                }
                catch
                {
                }
            }

            serveur2.Close();
        }
        public void TestLinkBudgetsAlongAPath()
        {
            var Frequency = 14500000000.0;
            var Power     = 1000.0;
            var DataRate  = 16000000.0;
            var Bandwidth = 20000000.0;

            var request = new CommunicationData();

            request.OutputUnits = OutputUnit.Decibels;
            // Transmitter
            var td = new TransmitterData();
            var sd = new SiteData();

            sd.Location         = new ServiceCartographic(42.0, -105.0, 2000.0);
            sd.MeanSeaLevel     = true;
            td.Path             = sd;
            td.PathRouteType    = RouteTypes.FixedSite;
            td.Frequency        = Frequency;
            td.Power            = Power;
            td.DataRate         = DataRate;
            request.Transmitter = td;
            // Interference Sources
            var jammer1     = new TransmitterData();
            var jammer1Path = new SiteData();

            jammer1Path.Location     = new ServiceCartographic(42.001, -105.0, 1900);
            jammer1Path.MeanSeaLevel = true;
            jammer1.Path             = jammer1Path;
            jammer1.PathRouteType    = RouteTypes.FixedSite;
            jammer1.Frequency        = Frequency;
            jammer1.Power            = Power;
            jammer1.DataRate         = DataRate;

            var jammer2     = new TransmitterData();
            var jammer2Path = new SiteData();

            jammer2Path.Location     = new ServiceCartographic(41.997, -105.0, 1900);
            jammer2Path.MeanSeaLevel = true;
            jammer2.Path             = jammer1Path;
            jammer2.PathRouteType    = RouteTypes.FixedSite;
            jammer2.Frequency        = Frequency;
            jammer2.Power            = Power;
            jammer2.DataRate         = DataRate;

            request.InterferenceSources = new List <TransmitterData>();
            request.InterferenceSources.Add(jammer1);
            request.InterferenceSources.Add(jammer2);
            // Receiver
            var receiver     = new ReceiverData();
            var receiverPath = new GreatArcRouteData(2);

            receiverPath.Waypoints[0].Position                 = new ServiceCartographic(41, -105.0, 2000.0);
            receiverPath.Waypoints[0].Time                     = new DateTimeOffset(2016, 02, 23, 4, 44, 0, new TimeSpan(0));
            receiverPath.Waypoints[1].Position                 = new ServiceCartographic(43, -104.0, 2000.0);
            receiverPath.Waypoints[1].Time                     = new DateTimeOffset(2016, 02, 23, 5, 44, 0, new TimeSpan(0));
            receiverPath.OutputSettings.Step                   = 900;
            receiverPath.OutputSettings.TimeFormat             = TimeRepresentation.UTC;
            receiverPath.OutputSettings.CoordinateFormat.Coord = CoordinateRepresentation.LLA;
            receiverPath.OutputSettings.CoordinateFormat.Frame = FrameRepresentation.Fixed;
            receiver.Path                 = receiverPath;
            receiver.PathRouteType        = RouteTypes.GreatArc;
            receiver.TargetFrequency      = Frequency;
            receiver.Bandwidth            = Bandwidth;
            receiver.AmplifierGain        = 100;
            receiver.NoiseFactor          = 2.0;
            receiver.ReferenceTemperature = 16.85;
            request.Receiver              = receiver;
            // Other settings
            request.UseTirem = true;
            request.TiremSettings.SurfaceHumidity     = 10.0;
            request.TiremSettings.SurfaceRefractivity = 200.0;

            // dump the request to see the JSON created
            //File.WriteAllText(@".\CommRequest.json",request.ToString());

            var commResult = CommunicationServices.GetLinkBudget(request).Result;

            Assert.That(commResult != null);
            Assert.That(commResult.LinkBudgets != null);
            Assert.That(commResult.LinkBudgets.Count == 5);
            Assert.AreEqual(0.499, commResult.LinkBudgets[0].BitErrorRate, 1e-3);
        }
Пример #23
0
    private void ListenNetwork()
    {
        UdpClient server = null;
        bool erreur = false;
        int attempts = 0;

        do
        {
            try
            {
                server = new UdpClient(this.listeningPort);
            }
            catch
            {
                erreur = true;
                attempts++;
                Thread.Sleep(400);
            }
        } while (erreur && attempts < 4);

        if (server == null)
        {
            Debug.Log("Verify the network configuration ...");
            this.StopServer(false);
            return;
        }

        server.Client.ReceiveTimeout = 1000;

        //Listening loop
        while (_continue)
        {
            try
            {
                IPEndPoint ip = null;
                byte[] data = server.Receive(ref ip);

                CommunicationData cd = new CommunicationData(ip, data);
                new Thread(new ParameterizedThreadStart(ProcessMessage)).Start(cd);
            }
            catch
            {
            }
        }
        server.Close();
    }
 public void setCD(CommunicationData cd)
 {
     numberList.Enqueue(cd);
     doCommunicate();
 }
Пример #25
0
        protected void btnItem_SelectedChanged(object sender, EventArgs e)
        {
            #region 判断当前是否存在打开的插件
            if (currentBtn != null && currentBtn.Equals(sender))
            {
                return;
            }
            else
            {
            }

            if (currentPluginForm != null)
            {
                if (currentPluginForm.CloseForm() == DialogResult.Cancel)
                {
                    (sender as NavBtnItem).Selected = false;
                    return;
                }
            }
            #endregion
            currentBtn = sender as NavBtnItem;
            SetPrograss("就绪", " ", 0);
            foreach (NavBtnItem item in flowLayoutPanel1.Controls)
            {
                item.Selected = false;
            }
            (sender as NavBtnItem).Selected = true;
            PluginModel pp  = (sender as NavBtnItem).Tag as PluginModel;
            Assembly    ass = Assembly.LoadFrom(pp.LibPath);

            Environment.CurrentDirectory = System.IO.Path.GetDirectoryName(pp.LibPath);

            string pluginClassName = ass.GetName().Name + "." + (sender as NavBtnItem).Tag2;
            string guid            = (sender as NavBtnItem).Tag2.ToString();
            //foreach (PluginModel pm in pp.Items)
            //{
            //    if (guid == pm.GUID)
            //    {
            //        pluginClassName = pm.Namesapce + "." + pm.Name;
            //        break;
            //    }
            //}

            Type tp = ass.GetType(pluginClassName);

            if (tp == null)
            {
                MessageBox.Show("插件加载失败:" + pluginClassName);
                return;
            }
            Environment.CurrentDirectory = System.IO.Path.GetDirectoryName(pp.LibPath);
            Form pluginClass = Activator.CreateInstance(tp) as Form;
            if (pluginClass is PluginLib.BaseForm)
            {
                currentPluginForm = pluginClass as PluginLib.BaseForm;
            }
            else
            {
                currentPluginForm = null;
            }
            pluginClass.TopLevel        = false;
            pluginClass.Anchor          = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Bottom;
            pluginClass.Dock            = DockStyle.Top;
            pluginClass.FormBorderStyle = FormBorderStyle.None;
            panel4.Controls.Clear();
            panel4.Controls.Add(pluginClass);
            pluginClass.Visible = true;

            //pluginClassName = pp.Namespace + ".Plugin";
            tp = ass.GetType(pluginClassName);
            tp = tp.BaseType;

            #region 为plugin.cs文件中的消息处理事件添加委托方法
            EventInfo eiMessage = tp.GetEvent("message");
            eiMessage.RemoveEventHandler(this, Delegate.CreateDelegate(eiMessage.EventHandlerType, this, "WriteMessage"));
            eiMessage.AddEventHandler(this, Delegate.CreateDelegate(eiMessage.EventHandlerType, this, "WriteMessage"));

            EventInfo eiClear = tp.GetEvent("clear");
            eiClear.RemoveEventHandler(this, Delegate.CreateDelegate(eiClear.EventHandlerType, this, "ClearMessage"));
            eiClear.AddEventHandler(this, Delegate.CreateDelegate(eiClear.EventHandlerType, this, "ClearMessage"));

            EventInfo eiPushData = tp.GetEvent("pushData");
            eiPushData.RemoveEventHandler(this, Delegate.CreateDelegate(eiPushData.EventHandlerType, this, "PushData"));
            eiPushData.AddEventHandler(this, Delegate.CreateDelegate(eiPushData.EventHandlerType, this, "PushData"));

            EventInfo eiPopupData = tp.GetEvent("popupData");
            eiPopupData.RemoveEventHandler(this, Delegate.CreateDelegate(eiPopupData.EventHandlerType, this, "PopupData"));
            eiPopupData.AddEventHandler(this, Delegate.CreateDelegate(eiPopupData.EventHandlerType, this, "PopupData"));

            EventInfo eiPrograss = tp.GetEvent("PrograssInfo");
            eiPrograss.RemoveEventHandler(this, Delegate.CreateDelegate(eiPrograss.EventHandlerType, this, "SetPrograss"));
            eiPrograss.AddEventHandler(this, Delegate.CreateDelegate(eiPrograss.EventHandlerType, this, "SetPrograss"));

            EventInfo eiPrograssMaxValue = tp.GetEvent("ProgressMaxValue");
            eiPrograssMaxValue.RemoveEventHandler(this, Delegate.CreateDelegate(eiPrograssMaxValue.EventHandlerType, this, "SetProgressMaxValue"));
            eiPrograssMaxValue.AddEventHandler(this, Delegate.CreateDelegate(eiPrograssMaxValue.EventHandlerType, this, "SetProgressMaxValue"));

            EventInfo resetProgressMaxValue = tp.GetEvent("resetProgressMaxValue");
            resetProgressMaxValue.RemoveEventHandler(this, Delegate.CreateDelegate(resetProgressMaxValue.EventHandlerType, this, "ResetProgressMaxValue"));
            resetProgressMaxValue.AddEventHandler(this, Delegate.CreateDelegate(resetProgressMaxValue.EventHandlerType, this, "ResetProgressMaxValue"));

            EventInfo eiLogOpt = tp.GetEvent("LogOperatorInfo");
            eiLogOpt.RemoveEventHandler(this, Delegate.CreateDelegate(eiLogOpt.EventHandlerType, this, "LogOperatorInfo"));
            eiLogOpt.AddEventHandler(this, Delegate.CreateDelegate(eiLogOpt.EventHandlerType, this, "LogOperatorInfo"));

            EventInfo eiLogSystem = tp.GetEvent("LogSystemInfo");
            eiLogSystem.RemoveEventHandler(this, Delegate.CreateDelegate(eiLogSystem.EventHandlerType, this, "LogSystemInfo"));
            eiLogSystem.AddEventHandler(this, Delegate.CreateDelegate(eiLogSystem.EventHandlerType, this, "LogSystemInfo"));
            #endregion

            #region  递通讯方式信息
            CommunicationData data = ConfigDataService.GetCommunicationData();

            Object pgClass = Activator.CreateInstance(tp);

            MethodInfo methodInfo = tp.GetMethod("SetSerialPort");
            methodInfo.Invoke(pgClass, new object[] { data.Serialport, data.Baudrate });

            methodInfo = tp.GetMethod("SetNetwork");
            methodInfo.Invoke(pgClass, new object[] { data.IP, data.Localport, data.Remoteport });

            #endregion
        }
Пример #26
0
        private static void sendSaveConfig(CommunicationData msg)
        {
            DyConfig config = (DyConfig)msg.Data;

            AppConfig.Save(config);
        }