diff options
Diffstat (limited to 'AudioManagerDaemon')
-rw-r--r-- | AudioManagerDaemon/include/IAmDatabaseHandler.h | 3 | ||||
-rwxr-xr-x | AudioManagerDaemon/src/main.cpp | 11 |
2 files changed, 5 insertions, 9 deletions
diff --git a/AudioManagerDaemon/include/IAmDatabaseHandler.h b/AudioManagerDaemon/include/IAmDatabaseHandler.h index 5ed259d..d5b33b9 100644 --- a/AudioManagerDaemon/include/IAmDatabaseHandler.h +++ b/AudioManagerDaemon/include/IAmDatabaseHandler.h @@ -53,7 +53,8 @@ typedef std::map<am_gatewayID_t, std::vector<bool> > ListConnectionFormat; //!< class IAmDatabaseHandler { public: - + IAmDatabaseHandler () {}; + virtual ~IAmDatabaseHandler () {}; virtual am_Error_e enterDomainDB(const am_Domain_s& domainData, am_domainID_t& domainID) = 0; virtual am_Error_e enterMainConnectionDB(const am_MainConnection_s& mainConnectionData, am_mainConnectionID_t& connectionID) = 0; virtual am_Error_e enterSinkDB(const am_Sink_s& sinkData, am_sinkID_t& sinkID) = 0; diff --git a/AudioManagerDaemon/src/main.cpp b/AudioManagerDaemon/src/main.cpp index 69b2860..9bcc57c 100755 --- a/AudioManagerDaemon/src/main.cpp +++ b/AudioManagerDaemon/src/main.cpp @@ -321,11 +321,11 @@ void mainProgram() #endif /*WITH_SYSTEMD_WATCHDOG*/ #ifdef WITH_DATABASE_STORAGE - CAmDatabaseHandler * pDatabaseHandler = new CAmDatabaseHandler(databasePath); + CAmDatabaseHandlerSQLite iDatabaseHandler(databasePath); #else - CAmDatabaseHandlerMap * pDatabaseHandler = new CAmDatabaseHandlerMap(); + CAmDatabaseHandlerMap iDatabaseHandler; #endif /*WITH_DATABASE_STORAGE*/ - IAmDatabaseHandler & iDatabaseHandler = *pDatabaseHandler; + IAmDatabaseHandler *pDatabaseHandler = dynamic_cast<IAmDatabaseHandler*>( &iDatabaseHandler ); CAmRoutingSender iRoutingSender(listRoutingPluginDirs); CAmCommandSender iCommandSender(listCommandPluginDirs); @@ -371,11 +371,6 @@ void mainProgram() //start the mainloop here.... iSocketHandler.start_listenting(); - if(pDatabaseHandler) - { - delete pDatabaseHandler; - pDatabaseHandler = NULL; - } } /** |