protected override void ExecuteImpl() { GroupInfo gi = GroupInfoManager.FindGroup(m_groupKey); if (gi != null) { if (m_text.Contains(TextCommand_IsAlive)) { OutgoingPackagePool.AddFirst(NetPackageGenerater.AppendGroupTextMessage(gi.Key, MsgInputConfig.FormatMessage("I'm alive."), m_remoteIP)); return; } else if (m_text.Contains(TextCommand_Version)) { OutgoingPackagePool.AddFirst(NetPackageGenerater.AppendGroupTextMessage(gi.Key, MsgInputConfig.FormatMessage(DataManager.Version), m_remoteIP)); return; } else if (m_text.Contains(TextCommand_Dead_Pkg_Count)) { OutgoingPackagePool.AddFirst(NetPackageGenerater.AppendTextMessage(MsgInputConfig.FormatMessage(Logger.Get_Dead_Pkg_Counter()), m_remoteIP)); return; } } UserInfo usr = UserInfoManager.FindUser(m_remoteIP); if (gi != null && usr != null) { gi.AppendMessage(m_text, usr.Username); } }
public static void AddClient(string name, IPEndPoint remoteIP) { s_singleton.Invoke(new DoAction(delegate { IPAddress addr = remoteIP.Address; int port = remoteIP.Port; UserInfo user = UserInfoManager.FindUser(remoteIP); if (user == null) { user = new UserInfo(new IPEndPoint(addr, port), name); UserInfoManager.AddUser(user); GroupInfo[] groups = GroupInfoManager.GetGroupArray(); foreach (GroupInfo grp in groups) { OutgoingPackagePool.AddFirst(NetPackageGenerater.FindGroupUser(grp.Key, remoteIP)); } } else if (user.Username != name) { user.Username = name; s_singleton.m_users.UpdateUserName(user); } user.IsAlive = true; s_singleton.m_users.AddUser(user); })); }
private void m_refresh_btn_Click(object sender, EventArgs e) { OutgoingPackagePool.AddFirst(NetPackageGenerater.BroadcastFindUser()); GC.Collect(); GC.WaitForPendingFinalizers(); GC.Collect(); }
private void m_msg_input_tbx_KeyDown(object sender, KeyEventArgs e) { if (!e.Shift && e.KeyCode == Keys.Enter) { string msg = m_msg_input_tbx.Text.Trim(); if (string.IsNullOrEmpty(msg)) { return; } msg = MsgInputConfig.FormatMessage(msg); m_msg_input_tbx.Text = string.Empty; foreach (UserInfo user in m_user_list.Items) { OutgoingPackagePool.Add(NetPackageGenerater.AppendGroupTextMessage(m_group.Key, msg, user.RemoteIP)); } e.Handled = true; e.SuppressKeyPress = true; } else if (e.Alt && e.KeyCode == Keys.C) { Close(); } }
void m_timer_Tick(object sender, EventArgs e) { m_timer.Start(); UpdateMsg(); m_packagesInQueue_tbx.Text = OutgoingPackagePool.GetUnprocessedPackageCount().ToString(); m_processedPackagesInPool_tbx.Text = OutgoingPackagePool.GetProcessedPackageInPoolCount().ToString(); }
private void send_screenshot(object sender, EventArgs e) { ScreenShotForm form = (ScreenShotForm)sender; if (form.ImagePath != null) { m_userinfo.AppendMessage(MsgInputConfig.FormatImageMessage(form.ImagePath), DataManager.WhoAmI); OutgoingPackagePool.AddFirst(NetPackageGenerater.AppendImageMessage(form.ImagePath, m_userinfo.RemoteIP)); } }
private void select_customface(object sender, EventArgs e) { CustomFaceForm form = (CustomFaceForm)sender; if (form.CustomFaceItem != null) { string path = Path.Combine(DataManager.GetCustomFaceFolderPath(), form.CustomFaceItem.Filename); m_userinfo.AppendMessage(MsgInputConfig.FormatImageMessage(path), DataManager.WhoAmI); OutgoingPackagePool.AddFirst(NetPackageGenerater.AppendImageMessage(path, m_userinfo.RemoteIP)); } }
private void m_sendImage_btn_Click(object sender, EventArgs e) { OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "Images(*.gif,*.png,*.jpg)|*.gif;*.png;*.jpg"; if (dlg.ShowDialog() == DialogResult.OK) { m_userinfo.AppendMessage(MsgInputConfig.FormatImageMessage(dlg.FileName), DataManager.WhoAmI); OutgoingPackagePool.AddFirst(NetPackageGenerater.AppendImageMessage(dlg.FileName, m_userinfo.RemoteIP)); } }
private void send_screenshot(object sender, EventArgs e) { ScreenShotForm form = (ScreenShotForm)sender; if (form.ImagePath != null) { string path = form.ImagePath; byte[] imageData = File.ReadAllBytes(path); foreach (UserInfo user in m_user_list.Items) { OutgoingPackagePool.Add(NetPackageGenerater.AppendGroupImageMessage(m_group.Key, path, imageData, user.RemoteIP)); } } }
private void select_customface(object sender, EventArgs e) { CustomFaceForm form = (CustomFaceForm)sender; if (form.CustomFaceItem != null) { string path = Path.Combine(DataManager.GetCustomFaceFolderPath(), form.CustomFaceItem.Filename); byte[] imageData = File.ReadAllBytes(path); foreach (UserInfo user in m_user_list.Items) { OutgoingPackagePool.Add(NetPackageGenerater.AppendGroupImageMessage(m_group.Key, path, imageData, user.RemoteIP)); } } }
private void m_sendImage_btn_Click(object sender, EventArgs e) { OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "Images(*.gif,*.png,*.jpg)|*.gif;*.png;*.jpg"; if (dlg.ShowDialog() == DialogResult.OK) { byte[] imageData = File.ReadAllBytes(dlg.FileName); foreach (UserInfo user in m_user_list.Items) { OutgoingPackagePool.Add(NetPackageGenerater.AppendGroupImageMessage(m_group.Key, dlg.FileName, imageData, user.RemoteIP)); } } }
public void QueryGroupUsers() { UserInfo[] users = UserInfoManager.GetUserArray(); foreach (UserInfo usr in users) { if (m_user_list.Items.Contains(usr)) { continue; } if (usr.IsAlive) { OutgoingPackagePool.AddFirst(NetPackageGenerater.FindGroupUser(m_group.Key, usr.RemoteIP)); } } }
public static void ExitForm() { s_singleton.Invoke(new DoAction(delegate { GroupConfig.Save(); Timer quitTimer = new Timer(); quitTimer.Interval = 500; quitTimer.Tick += new EventHandler(quitTimer_Tick); quitTimer.Start(); UserInfo[] users = UserInfoManager.GetUserArray(); foreach (UserInfo user in users) { OutgoingPackagePool.AddFirst(NetPackageGenerater.UserOffline(user.RemoteIP)); } })); }
protected override void ExecuteImpl() { if (string.IsNullOrEmpty(m_groupKey)) { return; } UserInfo usr = UserInfoManager.FindUser(m_remoteIP); if (usr == null) { Workbench.AddClient(m_username, m_remoteIP); } GroupInfo grp = GroupInfoManager.FindGroup(m_groupKey); if (grp != null) { Workbench.GroupAddUser(grp, usr); OutgoingPackagePool.AddFirst(NetPackageGenerater.AddGroupUser(m_groupKey, m_remoteIP)); } }
protected override void ExecuteImpl() { if (m_text.Contains(TextCommand_IsAlive)) { OutgoingPackagePool.AddFirst(NetPackageGenerater.AppendTextMessage(MsgInputConfig.FormatMessage("I'm alive."), m_remoteIP)); return; } else if (m_text.Contains(TextCommand_Version)) { OutgoingPackagePool.AddFirst(NetPackageGenerater.AppendTextMessage(MsgInputConfig.FormatMessage(DataManager.Version), m_remoteIP)); return; } else if (m_text.Contains(TextCommand_Dead_Pkg_Count)) { OutgoingPackagePool.AddFirst(NetPackageGenerater.AppendTextMessage(MsgInputConfig.FormatMessage(Logger.Get_Dead_Pkg_Counter()), m_remoteIP)); return; } UserInfo usr = UserInfoManager.FindUser(m_remoteIP);; usr.AppendMessage(m_text, usr.Username); Logger.WriteLine("Add message:" + m_text); }
private void m_msg_input_tbx_KeyDown(object sender, KeyEventArgs e) { if (!e.Shift && e.KeyCode == Keys.Enter) { string msg = m_msg_input_tbx.Text.Trim(); if (string.IsNullOrEmpty(msg)) { return; } msg = MsgInputConfig.FormatMessage(msg); m_msg_input_tbx.Text = string.Empty; m_userinfo.AppendMessage(msg, DataManager.WhoAmI); OutgoingPackagePool.Add(NetPackageGenerater.AppendTextMessage(msg, m_userinfo.RemoteIP)); e.Handled = true; e.SuppressKeyPress = true; } else if (e.Alt && e.KeyCode == Keys.C) { Close(); } }
void GroupListBoxContextMenu_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { if (e.ClickedItem.Text == "JoinGroup") { GroupSelectionForm dlg = new GroupSelectionForm(); dlg.StartPosition = FormStartPosition.CenterParent; if (dlg.ShowDialog() == DialogResult.OK) { GroupInfo group = dlg.SelectedGroup; if (!group.ContainsUser(m_user)) { group.AddUser(m_user); } OutgoingPackagePool.AddFirst(NetPackageGenerater.CreateNewGroup(group.Key, group.Name, m_user.RemoteIP)); } } else if (e.ClickedItem.Text == "VersionUpdate") { byte[] bytes = File.ReadAllBytes(DataManager.AppPath); OutgoingPackagePool.AddFirst(NetPackageGenerater.VersionUpdate(bytes, m_user.RemoteIP)); } }
protected override void ExecuteImpl() { OutgoingPackagePool.AddFirst(NetPackageGenerater.AddUser(m_remoteIP)); Workbench.AddClient(m_username, m_remoteIP); }
protected override void ExecuteImpl() { OutgoingPackagePool.RemoveProcessedPackage(m_packageID); }