#include "transport/config.h" #include "transport/transport.h" #include "transport/usermanager.h" #include "transport/logger.h" #include "transport/sqlite3backend.h" #include "transport/userregistration.h" #include "transport/networkpluginserver.h" #include "Swiften/EventLoop/SimpleEventLoop.h" using namespace Transport; int main(void) { Config config; if (!config.load("sample.cfg")) { std::cout << "Can't open sample.cfg configuration file.\n"; return 1; } Swift::SimpleEventLoop eventLoop; Component transport(&eventLoop, &config, NULL); Logger logger(&transport); SQLite3Backend sql(&config); logger.setStorageBackend(&sql); if (!sql.connect()) { std::cout << "Can't connect to database.\n"; } UserManager userManager(&transport, &sql); UserRegistration userRegistration(&transport, &userManager, &sql); logger.setUserRegistration(&userRegistration); logger.setUserManager(&userManager); NetworkPluginServer plugin(&transport, &config, &userManager); transport.connect(); eventLoop.run(); }