summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Slimber/CLI/main.cpp')
-rw-r--r--Slimber/CLI/main.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/Slimber/CLI/main.cpp b/Slimber/CLI/main.cpp
new file mode 100644
index 0000000..40f41c8
--- /dev/null
+++ b/Slimber/CLI/main.cpp
@@ -0,0 +1,37 @@
+#include <string>
+#include <boost/bind.hpp>
+
+#include "Swiften/Base/Platform.h"
+#if defined(SWIFTEN_PLATFORM_MACOSX) || defined(SWIFTEN_PLATFORM_WINDOWS)
+#include "Swiften/LinkLocal/AppleDNSSDService.h"
+#else
+#include "Swiften/LinkLocal/AvahiDNSSDService.h"
+#endif
+#include "Slimber/Server.h"
+#include "Slimber/FileVCardCollection.h"
+#include "Swiften/LinkLocal/LinkLocalRoster.h"
+#include "Swiften/EventLoop/SimpleEventLoop.h"
+#include "Swiften/Application/Platform/PlatformApplication.h"
+
+using namespace Swift;
+
+int main() {
+ SimpleEventLoop eventLoop;
+
+ boost::shared_ptr<DNSSDService> dnsSDService;
+#if defined(SWIFTEN_PLATFORM_MACOSX) || defined(SWIFTEN_PLATFORM_WINDOWS)
+ dnsSDService = boost::shared_ptr<AppleDNSSDService>(
+ new AppleDNSSDService());
+#else
+ dnsSDService = boost::shared_ptr<AvahiDNSSDService>(
+ new AvahiDNSSDService());
+#endif
+
+ boost::shared_ptr<LinkLocalRoster> linkLocalRoster = boost::shared_ptr<LinkLocalRoster>(new LinkLocalRoster(dnsSDService));
+
+ FileVCardCollection vCardCollection(PlatformApplication("Slimber").getSettingsDir());
+
+ Server server(5222, 5562, linkLocalRoster, dnsSDService, &vCardCollection);
+ eventLoop.run();
+ return 0;
+}