00001 // Copyright CERN 2012 - Developed in collaboration with GSI 00002 00003 00004 #include <fesa-core/Server/AbstractServerController.h> 00005 00006 #include <fesa-core/Server/NotificationConsumer.h> 00007 #include <fesa-core/RDADeviceServer/SubscriptionTreeManager.h> 00008 #include <fesa-core/Persistency/PersistencyManager.h> 00009 #include <fesa-core/Core/OnDemandProducer.h> 00010 00011 #include <iostream> 00012 00013 00014 namespace fesa 00015 { 00016 00017 AbstractServerController::AbstractServerController(SubscriptionTreeManager& subscriptionTreeManager) : 00018 eventProducer_(NULL), 00019 subscriptionTreeManager_(subscriptionTreeManager) 00020 { 00021 } 00022 00023 00024 AbstractServerController::~AbstractServerController() 00025 { 00026 00027 } 00028 00029 void AbstractServerController::initialize() 00030 { 00031 //Startup of the Notification Consumer 00032 //we have to wait till initialize, because we want to use the class-tree 00033 } 00034 00035 void AbstractServerController::start() 00036 { 00037 //start the services. 00038 PersistencyManager::getInstance()->start(); 00039 NotificationConsumer::getInstance(subscriptionTreeManager_)->start(false, "NotificationConsumer"); 00040 } 00041 00042 OnDemandProducer* AbstractServerController::getOnDemandProducer() 00043 { 00044 return eventProducer_; 00045 } 00046 00047 } // fesa