summaryrefslogtreecommitdiff
path: root/gentoobrowse-api/service/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gentoobrowse-api/service/main.cpp')
-rw-r--r--gentoobrowse-api/service/main.cpp16
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"));
}
};