static XmppGlobal() { jabber_client = new JabberClient(); roster_manager = new RosterManager(); roster_manager.Stream = jabber_client; presence_manager = new PresenceManager(); presence_manager.Stream = jabber_client; iq_tracker = new IQTracker(jabber_client); connection = new Connection(); debug = new Debug(); disco = new Disco(); presence = new Presence(); roster = new Roster(); queries = new Queries(); query_cache = new QueryCache(); messaging = new Messaging(); }
public Account(AccountInfo info) { if (String.IsNullOrEmpty(info.User)) { throw new ArgumentNullException("user"); } if (String.IsNullOrEmpty(info.Domain)) { throw new ArgumentNullException("domain"); } if (String.IsNullOrEmpty(info.Resource)) { throw new ArgumentNullException("resource"); } m_Info = info; m_UserPresenceCache = new Dictionary <JID, Presence>(); m_Client = new JabberClient(); m_Client.AutoPresence = false; m_Client.AutoRoster = true; m_Client.AutoStartTLS = true; m_Client.OnConnect += HandleOnConnect; m_Client.OnAuthenticate += HandleOnAuthenticate; m_Client.OnDisconnect += HandleOnDisconnect; m_Client.OnError += HandleOnError; m_Client.OnPresence += HandleOnPresence; m_Client.OnInvalidCertificate += delegate { return(true); }; // XXX: m_Client.OnBeforePresenceOut += HandleOnBeforePresenceOut; m_Client.OnStreamInit += HandleOnStreamInit; m_Roster = new RosterManager(); m_Roster.OnRosterEnd += HandleOnRosterEnd; m_Roster.Stream = m_Client; m_CapsManager = new CapsManager(); m_CapsManager.Stream = m_Client; m_CapsManager.Node = "http://www.synapse.im/"; m_PubSubManager = new PubSubManager(); m_PubSubManager.Stream = m_Client; m_DiscoManager = new DiscoManager(); m_DiscoManager.Stream = m_Client; m_ConferenceManager = new ConferenceManager(); m_ConferenceManager.Stream = m_Client; m_ConferenceManager.OnInvite += HandleOnInvite; m_BookmarkManager = new BookmarkManager(); m_BookmarkManager.Stream = m_Client; m_BookmarkManager.ConferenceManager = m_ConferenceManager; m_PresenceManager = new PresenceManager(); m_PresenceManager.Stream = m_Client; m_AvatarManager = new AvatarManager(this); m_IQTracker = new IQTracker(m_Client); // XXX: Don't hard-code this. m_CapsManager.AddIdentity("Synapse 0.1", "client", "pc", "en_US"); // Create builtin features // XXX: This should be an extension point as well. AddFeature(new PersonalEventing(this)); AddFeature(new Microblogging(this)); AddFeature(new UserMood(this)); AddFeature(new UserTune(this)); AddFeature(new UserAvatars(this)); AddFeature(new ChatStates(this)); AddFeature(new UserWebIdentities(this)); if (ServiceManager.Contains <NetworkService>()) { ServiceManager.Get <NetworkService>().StateChange += HandleNetworkStateChanged; } }