diff options
Diffstat (limited to 'gentoobrowse-api/service/main.cpp')
-rw-r--r-- | gentoobrowse-api/service/main.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/gentoobrowse-api/service/main.cpp b/gentoobrowse-api/service/main.cpp index e14c2a0..91ba9d4 100644 --- a/gentoobrowse-api/service/main.cpp +++ b/gentoobrowse-api/service/main.cpp @@ -1,11 +1,11 @@ #include <Ice/Initialize.h> -#include <Ice/ObjectAdapter.h> #include <icetrayService.h> #include "portageimpl.h" #include "usersimpl.h" #include "maintenanceimpl.h" #include "notificationsimpl.h" -#include "mailserverimpl.h" +#include "mailServer.h" +#include <icecube.h> #include <libexslt/exslt.h> #include <libxslt/transform.h> @@ -32,11 +32,13 @@ class Api : public IceTray::Service { void addObjects(const std::string &, const Ice::CommunicatorPtr & ic, const Ice::StringSeq &, const Ice::ObjectAdapterPtr & adp) override { auto db = getConnectionPool(ic, "postgresql", "GentooBrowseAPI"); - adp->add(std::make_shared<Portage>(db), Ice::stringToIdentity("portage")); - adp->add(std::make_shared<Maintenance>(db, ic, ic->getProperties()), Ice::stringToIdentity("maintenance")); - adp->add(std::make_shared<Users>(db), Ice::stringToIdentity("users")); - adp->add(std::make_shared<Notifications>(), Ice::stringToIdentity("notifications")); - adp->add(std::make_shared<MailServer>(), Ice::stringToIdentity("mailserver")); + auto props = ic->getProperties(); + IceTray::Cube::addObject<Gentoo::Portage, Portage>(adp, "portage", db); + IceTray::Cube::addObject<Gentoo::Maintenance, Maintenance>(adp, "maintenance", db, ic, props); + IceTray::Cube::addObject<Gentoo::Users, Users>(adp, "users", db); + IceTray::Cube::add<Gentoo::Notifications, Notifications>(); + IceTray::Cube::add<IceTray::Mail::MailServer, IceTray::Mail::LibesmtpMailServer>( + props->getPropertyWithDefault("GentooBrowseAPI.MailServer", "localhost:25")); } }; |