17 #include "confighandler.h"
20 #include "taghandler.h"
22 #include <gloox/mutex.h>
23 #include <gloox/mutexguard.h>
24 #include <gloox/tag.h>
73 void registerDomain(
TagHandler* th,
const std::string& domain,
bool node );
77 void removeDomain(
TagHandler* th,
const std::string& domain,
bool node );
80 virtual void handleIncomingTag( gloox::Tag* tag );
83 virtual void handleOutgoingTag( gloox::Tag* ) {}
92 virtual void handleShutdown();
95 void handleTag( gloox::Tag* tag );
96 void routeBySender( gloox::Tag* tag );
97 void routeByReceipient( gloox::Tag* tag );
98 bool isLocal(
const std::string& domain );
100 typedef std::map<std::string, TagHandler*> RoutingTable;
101 RoutingTable m_domainRouting;
102 RoutingTable m_userRouting;
106 const gloox::LogSink& m_logInstance;
107 gloox::util::Mutex m_domainRoutingMutex;
108 gloox::util::Mutex m_userRoutingMutex;
110 gloox::TagList m_queue;
112 gloox::util::Mutex m_queueMutex;
114 volatile bool m_threading;