#pragma once #include "boostheaders.h" #include "Log.h" #include "Presence.h" #include "jid.h" #include "map" class JabberStream; class JabberStanzaDispatcher; class Connection; class JabberAccount; class Roster; class MucBookmarks; class MyCaps; class HostCaps; typedef boost::shared_ptr JabberStanzaDispatcherRef; typedef boost::shared_ptr JabberStreamRef; typedef boost::shared_ptr ConnectionRef; typedef boost::shared_ptr JabberAccountRef; typedef boost::shared_ptr RosterRef; typedef boost::shared_ptr MucBookmarksRef; typedef boost::shared_ptr MyCapsRef; typedef boost::shared_ptr HostCapsRef; class ResourceContext { public: ResourceContext(); JabberAccountRef account; Jid myJid; JabberStreamRef jabberStream; JabberStanzaDispatcherRef jabberStanzaDispatcherRT; JabberStanzaDispatcherRef jabberStanzaDispatcher2; RosterRef roster; MucBookmarksRef bookmarks; MyCapsRef myCaps; HostCapsRef hostFeatures; presence::PresenceIndex status; std::string presenceMessage; int priority; bool isLoggedIn() { return jabberStream; } void sendPresence() { sendPresence(NULL, status, presenceMessage, priority); } void sendPresence(const char *to, presence::PresenceIndex status, const std::string &message, int priority); }; typedef boost::shared_ptr ResourceContextRef;