From 358f741f45ac92d07b923afd51aeb39704277374 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Remko=20Tron=C3=A7on?= Date: Tue, 21 Jul 2009 15:30:09 +0200 Subject: Add VCardCollection. diff --git a/Slimber/Cocoa/Slimber.h b/Slimber/Cocoa/Slimber.h index 7964581..c2c0e2d 100644 --- a/Slimber/Cocoa/Slimber.h +++ b/Slimber/Cocoa/Slimber.h @@ -10,6 +10,7 @@ @class Menulet; namespace Swift { class Server; + class VCardCollection; } class Slimber { @@ -24,6 +25,7 @@ class Slimber { private: boost::shared_ptr dnsSDService; boost::shared_ptrlinkLocalRoster; + Swift::VCardCollection* vCardCollection; Swift::Server* server; Menulet* menulet; }; diff --git a/Slimber/Cocoa/Slimber.mm b/Slimber/Cocoa/Slimber.mm index d64cd58..ae1d9fd 100644 --- a/Slimber/Cocoa/Slimber.mm +++ b/Slimber/Cocoa/Slimber.mm @@ -3,8 +3,10 @@ #include "Swiften/Base/foreach.h" #include "Swiften/Elements/RosterPayload.h" #include "Swiften/LinkLocal/AppleDNSSDService.h" +#include "Swiften/Application/Platform/PlatformApplication.h" #include "Slimber/Cocoa/Menulet.h" #include "Slimber/Server.h" +#include "Slimber/FileVCardCollection.h" using namespace Swift; @@ -14,7 +16,9 @@ Slimber::Slimber() { linkLocalRoster = boost::shared_ptr(new LinkLocalRoster(dnsSDService)); linkLocalRoster->onRosterChanged.connect(boost::bind(&Slimber::handleRosterChanged, this)); - server = new Server(5222, 5562, linkLocalRoster, dnsSDService); + vCardCollection = new FileVCardCollection(PlatformApplication("Slimber").getSettingsDir()); + + server = new Server(5222, 5562, linkLocalRoster, dnsSDService, vCardCollection); server->onSelfConnected.connect(boost::bind(&Slimber::handleSelfConnected, this, _1)); menulet = [[Menulet alloc] init]; @@ -22,8 +26,9 @@ Slimber::Slimber() { } Slimber::~Slimber() { - delete server; [menulet release]; + delete server; + delete vCardCollection; } void Slimber::handleSelfConnected(bool b) { diff --git a/Slimber/FileVCardCollection.cpp b/Slimber/FileVCardCollection.cpp new file mode 100644 index 0000000..60be5c0 --- /dev/null +++ b/Slimber/FileVCardCollection.cpp @@ -0,0 +1,14 @@ +#include "Slimber/FileVCardCollection.h" + +namespace Swift { + +FileVCardCollection::FileVCardCollection(boost::filesystem::path dir) : vcardsPath(dir) { +} + +boost::shared_ptr FileVCardCollection::getOwnVCard() const { +} + +void FileVCardCollection::setOwnVCard(boost::shared_ptr vcard) { +} + +} diff --git a/Slimber/FileVCardCollection.h b/Slimber/FileVCardCollection.h new file mode 100644 index 0000000..dde47df --- /dev/null +++ b/Slimber/FileVCardCollection.h @@ -0,0 +1,19 @@ +#pragma once + +#include +#include + +#include "Slimber/VCardCollection.h" + +namespace Swift { + class FileVCardCollection : public VCardCollection { + public: + FileVCardCollection(boost::filesystem::path dir); + + boost::shared_ptr getOwnVCard() const; + void setOwnVCard(boost::shared_ptr vcard); + + private: + boost::filesystem::path vcardsPath; + }; +} diff --git a/Slimber/Makefile.inc b/Slimber/Makefile.inc index 86692b3..6d52f0f 100644 --- a/Slimber/Makefile.inc +++ b/Slimber/Makefile.inc @@ -1,5 +1,7 @@ SLIMBER_TARGET = Slimber/slimber SLIMBER_SOURCES = \ + Slimber/FileVCardCollection.cpp \ + Slimber/VCardCollection.cpp \ Slimber/Server.cpp \ Slimber/main.cpp SLIMBER_OBJECTS = \ diff --git a/Slimber/Server.cpp b/Slimber/Server.cpp index 53c02a0..c331416 100644 --- a/Slimber/Server.cpp +++ b/Slimber/Server.cpp @@ -13,17 +13,19 @@ #include "Swiften/LinkLocal/OutgoingLinkLocalSession.h" #include "Swiften/LinkLocal/IncomingLinkLocalSession.h" #include "Swiften/Network/ConnectionServer.h" +#include "Slimber/VCardCollection.h" #include "Swiften/Server/ServerFromClientSession.h" namespace Swift { -Server::Server(int clientConnectionPort, int linkLocalConnectionPort, boost::shared_ptr linkLocalRoster, boost::shared_ptr dnsSDService) : +Server::Server(int clientConnectionPort, int linkLocalConnectionPort, boost::shared_ptr linkLocalRoster, boost::shared_ptr dnsSDService, VCardCollection* vCardCollection) : dnsSDServiceRegistered_(false), rosterRequested_(false), clientConnectionPort_(clientConnectionPort), linkLocalConnectionPort_(linkLocalConnectionPort), linkLocalRoster_(linkLocalRoster), - dnsSDService_(dnsSDService) { + dnsSDService_(dnsSDService), + vCardCollection_(vCardCollection) { serverFromClientConnectionServer_ = boost::shared_ptr(new BoostConnectionServer( clientConnectionPort, &boostIOServiceThread_.getIOService())); diff --git a/Slimber/Server.h b/Slimber/Server.h index d8b6c6c..b85aec8 100644 --- a/Slimber/Server.h +++ b/Slimber/Server.h @@ -22,9 +22,11 @@ #include "Swiften/Serializer/PayloadSerializers/FullPayloadSerializerCollection.h" namespace Swift { + class VCardCollection; + class Server { public: - Server(int clientConnectionPort, int linkLocalConnectionPort, boost::shared_ptr, boost::shared_ptr dnsSDService); + Server(int clientConnectionPort, int linkLocalConnectionPort, boost::shared_ptr, boost::shared_ptr dnsSDService, VCardCollection* vCardCollection); boost::signal onSelfConnected; @@ -66,6 +68,7 @@ namespace Swift { int linkLocalConnectionPort_; boost::shared_ptr linkLocalRoster_; boost::shared_ptr dnsSDService_; + VCardCollection* vCardCollection_; boost::shared_ptr serverFromClientConnectionServer_; boost::shared_ptr serverFromClientSession_; boost::shared_ptr serverFromNetworkConnectionServer_; diff --git a/Slimber/VCardCollection.cpp b/Slimber/VCardCollection.cpp new file mode 100644 index 0000000..1477429 --- /dev/null +++ b/Slimber/VCardCollection.cpp @@ -0,0 +1,8 @@ +#include "Slimber/VCardCollection.h" + +namespace Swift { + +VCardCollection::~VCardCollection() { +} + +} diff --git a/Slimber/VCardCollection.h b/Slimber/VCardCollection.h new file mode 100644 index 0000000..42f7df7 --- /dev/null +++ b/Slimber/VCardCollection.h @@ -0,0 +1,15 @@ +#pragma once + +#include + +#include "Swiften/Elements/VCard.h" + +namespace Swift { + class VCardCollection { + public: + virtual ~VCardCollection(); + + virtual boost::shared_ptr getOwnVCard() const = 0; + virtual void setOwnVCard(boost::shared_ptr vcard) = 0; + }; +} -- cgit v0.10.2-6-g49f6