static void Main(string[] argv) { Jabber = new JabberService(); appDir = Path.GetDirectoryName(Application.ExecutablePath) + "\\"; dataDir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\miniConf\\"; System.IO.Directory.CreateDirectory(dataDir); System.IO.Directory.CreateDirectory(dataDir + "Received Files"); System.IO.Directory.CreateDirectory(dataDir + "Temporary Data"); System.IO.Directory.CreateDirectory(dataDir + "Avatars"); System.IO.Directory.CreateDirectory(dataDir + "Emoticons"); tempDir = dataDir + "Temporary Data\\"; singleInstanceMutex = new Mutex(true, "*****@*****.**"); if (singleInstanceMutex.WaitOne(TimeSpan.Zero, true)) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); MainWnd = new Form1(); isAutorun = !(argv.Length < 1 || argv[0] != "/autostart"); //MainWnd.Show(); //MainWnd.onIni(shouldShow); //if (!shouldShow) MainWnd.Hide(); Application.Run(MainWnd); singleInstanceMutex.ReleaseMutex(); } else { WindowHelper.PostMessage((IntPtr)WindowHelper.HWND_BROADCAST, WindowHelper.WM_SHOWME, IntPtr.Zero, IntPtr.Zero); } }
public void OnPrivateMessage(agsXMPP.protocol.client.Message msg) { try { agsXMPP.protocol.x.muc.User x = (agsXMPP.protocol.x.muc.User)msg.SelectSingleElement(typeof(agsXMPP.protocol.x.muc.User)); if (x != null && x.Invite != null) { Program.Jabber.muc.handleInvitation(msg, x.Invite); return; } // Ignore Chatstate notifications if no conversation is open if (!msg.HasTag("body") && !this.HasWindow(msg.From)) { return; } Jid relevantJid = msg.From; // XEP-0280, Message Carbons var carbonsSent = msg.SelectSingleElement("sent", JabberService.URN_CARBONS); var carbonsReceived = msg.SelectSingleElement("received", JabberService.URN_CARBONS); if (carbonsSent != null) { msg = (agsXMPP.protocol.client.Message)carbonsSent.SelectSingleElement("message", true); relevantJid = msg.To; } else if (carbonsReceived != null) { msg = (agsXMPP.protocol.client.Message)carbonsReceived.SelectSingleElement("message", true); relevantJid = msg.From; } string dt = JabberService.GetMessageDt(msg); if (msg.HasTag("body")) { Program.db.InsertMessage(relevantJid.Bare, msg.Id, msg.From, msg.Body, dt); } DirectMessageForm dmfrm = GetWindow(relevantJid); dmfrm.onMessage(msg); dmfrm.Show(); if (msg.HasTag("body")) { dmfrm.Activate(); } else { if (!String.IsNullOrEmpty(msg.Subject)) { dmfrm.onNotice("Subject set: " + msg.Subject.Replace("<", "<")); } else if (msg.Error != null) { dmfrm.onNotice("An error occured: " + msg.Error.ToString().Replace("<", "<")); } //else dmfrm.onNotice("Unknown message stanza: " + msg.ToString().Replace("<", "<")); } } catch (Exception ex) { return; } }