diff --git a/examples/usermanager/main.cpp b/examples/usermanager/main.cpp new file mode 100644 index 0000000000000000000000000000000000000000..abd00d2358b900c681326cb22bb5061d47d8bf30 --- /dev/null +++ b/examples/usermanager/main.cpp @@ -0,0 +1,37 @@ +#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 "Swiften/EventLoop/SimpleEventLoop.h" + +using namespace Transport; + +int main(void) +{ + Config::Variables config; + if (!Config::load("sample.cfg", config)) { + std::cout << "Can't open sample.cfg configuration file.\n"; + return 1; + } + + Swift::SimpleEventLoop eventLoop; + Component transport(&eventLoop, config); + Logger logger(&transport); + + SQLite3Backend sql(config); + logger.setStorageBackend(&sql); + if (!sql.connect()) { + std::cout << "Can't connect to database.\n"; + } + + transport.setStorageBackend(&sql); + + UserManager userManager(&transport); + + UserRegistration userRegistration(&transport, &userManager, &sql); + + transport.connect(); + eventLoop.run(); +}