private void UpdateAppView(string StationID, APPID aPPID, bool isonline) { if (serverplist.ContainsKey(StationID)) { serverplist[StationID].UpdateApp(aPPID, isonline); } }
public static string getAppname(APPID appid) { foreach (var v in Apps) { if (v.id == appid) return v.appname; } return ""; }
// 返回该APP可以通讯的APP列表,权限控制 public static List <APPID> getVisualApp(APPID appid) { List <APPID> result = new List <APPID>(); APPTYPE type = getApptype(appid); switch (type) { case APPTYPE.App2Res: switch (appid) { case APPID.TestApp: result.Add(APPID.Authorization); result.Add(APPID.TestApp); result.Add(APPID.TestAppResource); break; default: break; } break; case APPTYPE.App2App: result.Add(appid); break; case APPTYPE.Res2App: switch (appid) { case APPID.TestAppResource: result.Add(APPID.Authorization); result.Add(APPID.TestApp); result.Add(APPID.TestAppResource); break; default: break; } break; case APPTYPE.Authorization: result.Add(APPID.Authorization); result.Add(APPID.TestApp); result.Add(APPID.TestAppResource); break; case APPTYPE.Moniter: result.Add(APPID.Authorization); result.Add(APPID.TestApp); result.Add(APPID.TestAppResource); result.Add(APPID.TestApp2App); result.Add(APPID.iMoniter); break; default: break; } return(result); }
internal void UpdateApp(APPID aPPID, bool isonline) { if (isonline) { Online = true; } if (applist.ContainsKey(aPPID)) { applist[aPPID].Online = isonline; } }
public static APPID getResID(APPID appid) { switch (appid) { case APPID.TestApp: return(APPID.TestAppResource); default: return(APPID.Unkown); } }
public static APPTYPE getApptype(APPID appid) { foreach (var v in Apps) { if (v.id == appid) { return(v.type); } } return(APPTYPE.App2App); }
public static string getAppname(APPID appid) { foreach (var v in Apps) { if (v.id == appid) { return(v.appname); } } return(""); }
public static Client CreateClient(APPID App, string ConfigPath) { if (!Clients.ContainsKey(App)) { lock (SynObject) { if (!Clients.ContainsKey(App)) { foreach (var v in Apps) { if (v.id == App) { switch (v.type) { case APPTYPE.App2Res: Client c1 = new ClientApp(v, ConfigPath); Clients.Add(App, c1); break; case APPTYPE.App2App: Client c2 = new ClientP2P(v, ConfigPath); Clients.Add(App, c2); break; case APPTYPE.Res2App: Client c3 = new ClientRes(v, ConfigPath); Clients.Add(App, c3); break; case APPTYPE.Authorization: Client c4 = new ClientAuthor(v, ConfigPath); Clients.Add(App, c4); break; case APPTYPE.Moniter: Client c5 = new ClientMoniter(v, ConfigPath); Clients.Add(App, c5); break; default: break; } break; } } } } } return(Clients[App]); }
public apppanel(APPID aPPID) { mainpanel = new Panel(); mainpanel.Width = 129; mainpanel.Height = 33; appimg = new PictureBox(); appimg.Image = res.GetObject("off") as Image; appimg.Location = new Point(4, 7); appimg.Width = 16; appimg.Height = 16; appimg.Parent = mainpanel; applabel = new Label(); applabel.Text = aPPID.ToString(); applabel.Location = new Point(27, 9); applabel.Parent = mainpanel; }
///<summary>异步发送数据,提交后立即返回,数据包在缓存中等待发送</summary> ///<param name="data">数据包</param> public void Send(string stationid, APPID Appid, PacketManaged data) { UInt16 serverid = StationIdtoServerid(stationid); if (serverid > 0) { if (isAppOnline(serverid, (ushort)Appid)) { lock (Synsend) { data.checktime.Add(DateTime.Now); icPacket p = new icPacket(); p.Serverid = serverid; p.Appid = Appid; p.dataid = Dataid; p.data = data; sendbuff.Enqueue(p); if (sendbuffblocked) { sendbuffblocked = false; sendbuffblockEvent.Set(); } } } else { sendingpacket status = new sendingpacket(); status.data = data; status.packetsize = 0; status.sendtime = DateTime.Now; status.outtime = DateTime.Now; SendStatusEventArgs e = new SendStatusEventArgs(SENDSTATUS.PACKET_APPDOWN, status); ics_SendStatusEvent(e); } } else { sendingpacket status = new sendingpacket(); status.data = data; status.packetsize = 0; status.sendtime = DateTime.Now; status.outtime = DateTime.Now; SendStatusEventArgs e = new SendStatusEventArgs(SENDSTATUS.PACKET_SERVERUNKOWN, status); ics_SendStatusEvent(e); } }
public static Client CreateClient(APPID App, string ConfigPath) { if (!Clients.ContainsKey(App)) { lock (SynObject) { if (!Clients.ContainsKey(App)) { foreach (var v in Apps) { if (v.id == App) { switch (v.type) { case APPTYPE.App2Res: Client c1 = new ClientApp(v, ConfigPath); Clients.Add(App, c1); break; case APPTYPE.App2App: Client c2 = new ClientP2P(v, ConfigPath); Clients.Add(App, c2); break; case APPTYPE.Res2App: Client c3 = new ClientRes(v, ConfigPath); Clients.Add(App, c3); break; case APPTYPE.Authorization: Client c4 = new ClientAuthor(v, ConfigPath); Clients.Add(App, c4); break; case APPTYPE.Moniter: Client c5 = new ClientMoniter(v, ConfigPath); Clients.Add(App, c5); break; default: break; } break; } } } } } return Clients[App]; }
///<summary>异步发送数据,提交后立即返回,数据包在缓存中等待发送</summary> ///<param name="data">数据包</param> public void Send(string stationid, APPID Appid, PacketManaged data) { UInt16 serverid = StationIdtoServerid(stationid); if (serverid > 0) { if (isAppOnline(serverid, (ushort)Appid)) { lock (Synsend) { data.checktime.Add(DateTime.Now); icPacket p = new icPacket(); p.Serverid = serverid; p.Appid = Appid; p.dataid = Dataid; p.data = data; sendbuff.Enqueue(p); if (sendbuffblocked) { sendbuffblocked = false; sendbuffblockEvent.Set(); } } } else { sendingpacket status = new sendingpacket(); status.data = data; status.packetsize = 0; status.sendtime = DateTime.Now; status.outtime = DateTime.Now; SendStatusEventArgs e = new SendStatusEventArgs(SENDSTATUS.PACKET_APPDOWN, status); ics_SendStatusEvent(e); } } else { sendingpacket status = new sendingpacket(); status.data = data; status.packetsize = 0; status.sendtime = DateTime.Now; status.outtime = DateTime.Now; SendStatusEventArgs e = new SendStatusEventArgs(SENDSTATUS.PACKET_SERVERUNKOWN, status); ics_SendStatusEvent(e); } }
public static APPID getResID(APPID appid) { switch (appid) { case APPID.TestApp: return APPID.TestAppResource; default: return APPID.Unkown; } }
public static APPTYPE getApptype(APPID appid) { foreach(var v in Apps) { if (v.id == appid) return v.type; } return APPTYPE.App2App; }
///<summary>生产通讯客户端。每一个module只生成唯一的实例</summary> ///<param name="module">辨识应用的唯一字符串,大小写敏感</param> public static Client CreateClient(APPID App) { return CreateClient(App, ""); }
private void UpdateAppView(string StationID, APPID aPPID, bool isonline) { if (serverplist.ContainsKey(StationID)) { serverplist[StationID].UpdateApp(aPPID, isonline); } }
///<summary>生产通讯客户端。每一个module只生成唯一的实例</summary> ///<param name="module">辨识应用的唯一字符串,大小写敏感</param> public static Client CreateClient(APPID App) { return(CreateClient(App, "")); }
internal void UpdateApp(APPID aPPID, bool isonline) { if (isonline) Online = true; if(applist.ContainsKey(aPPID)) { applist[aPPID].Online = isonline; } }
public apppanel(APPID aPPID) { mainpanel = new Panel(); mainpanel.Width = 129; mainpanel.Height = 33; appimg = new PictureBox(); appimg.Image = res.GetObject("off") as Image; appimg.Location = new Point(4, 7); appimg.Width = 16; appimg.Height = 16; appimg.Parent = mainpanel; applabel = new Label(); applabel.Text = aPPID.ToString(); applabel.Location = new Point(27, 9); applabel.Parent = mainpanel; }
// 返回该APP可以通讯的APP列表,权限控制 public static List<APPID> getVisualApp(APPID appid) { List<APPID> result = new List<APPID>(); APPTYPE type = getApptype(appid); switch (type) { case APPTYPE.App2Res: switch (appid) { case APPID.TestApp: result.Add(APPID.Authorization); result.Add(APPID.TestApp); result.Add(APPID.TestAppResource); break; default: break; } break; case APPTYPE.App2App: result.Add(appid); break; case APPTYPE.Res2App: switch (appid) { case APPID.TestAppResource: result.Add(APPID.Authorization); result.Add(APPID.TestApp); result.Add(APPID.TestAppResource); break; default: break; } break; case APPTYPE.Authorization: result.Add(APPID.Authorization); result.Add(APPID.TestApp); result.Add(APPID.TestAppResource); break; case APPTYPE.Moniter: result.Add(APPID.Authorization); result.Add(APPID.TestApp); result.Add(APPID.TestAppResource); result.Add(APPID.TestApp2App); result.Add(APPID.iMoniter); break; default: break; } return result; }