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;
#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);
//start the mainloop here....
iSocketHandler.start_listenting();
- if(pDatabaseHandler)
- {
- delete pDatabaseHandler;
- pDatabaseHandler = NULL;
- }
}
/**