summaryrefslogtreecommitdiff
path: root/AudioManagerDaemon/include/CAmDatabaseHandler.h
diff options
context:
space:
mode:
Diffstat (limited to 'AudioManagerDaemon/include/CAmDatabaseHandler.h')
-rw-r--r--AudioManagerDaemon/include/CAmDatabaseHandler.h37
1 files changed, 13 insertions, 24 deletions
diff --git a/AudioManagerDaemon/include/CAmDatabaseHandler.h b/AudioManagerDaemon/include/CAmDatabaseHandler.h
index 4341c01..1adc4d6 100644
--- a/AudioManagerDaemon/include/CAmDatabaseHandler.h
+++ b/AudioManagerDaemon/include/CAmDatabaseHandler.h
@@ -22,10 +22,8 @@
#ifndef DATABASEHANDLER_H_
#define DATABASEHANDLER_H_
-#include "audiomanagertypes.h"
+#include "CAmDatabaseHandlerInterface.h"
#include <map>
-#include <vector>
-#include <string>
#include <sqlite3.h>
namespace am
@@ -35,7 +33,6 @@ class CAmDatabaseObserver;
class CAmRoutingTree;
class CAmRoutingTreeItem;
-#define DYNAMIC_ID_BOUNDARY 100 //!< the value below is reserved for staticIDs, the value above will be assigned to dynamically registered items
//todo: check the enum values before entering & changing in the database.
//todo: change asserts for dynamic boundary checks into failure answers.#
//todo: check autoincrement boundary and set to 16bit limits
@@ -47,9 +44,18 @@ class CAmRoutingTreeItem;
/**
* This class handles and abstracts the database
*/
-class CAmDatabaseHandler
+class CAmDatabaseHandler : public CAmDatabaseHandlerInterface
{
+private:
+ am_timeSync_t calculateMainConnectionDelay(const am_mainConnectionID_t mainConnectionID) const; //!< calculates a new main connection delay
+ bool sqQuery(const std::string& query); //!< queries the database
+ bool openDatabase(); //!< opens the database
+ void createTables(); //!< creates all tables from the static table
+ sqlite3 *mpDatabase; //!< pointer to the database
+ std::string mPath; //!< path to the database
+
public:
+ CAmDatabaseHandler();
CAmDatabaseHandler(std::string databasePath);
~CAmDatabaseHandler();
am_Error_e enterDomainDB(const am_Domain_s& domainData, am_domainID_t& domainID);
@@ -148,8 +154,8 @@ public:
bool existMainConnection(const am_mainConnectionID_t mainConnectionID) const;
bool existcrossFader(const am_crossfaderID_t crossfaderID) const;
- bool existConnection(const am_Connection_s connection);
- bool existConnectionID(const am_connectionID_t connectionID);
+ bool existConnection(const am_Connection_s & connection) const;
+ bool existConnectionID(const am_connectionID_t connectionID) const;
bool existSource(const am_sourceID_t sourceID) const;
bool existSourceNameOrID(const am_sourceID_t sourceID, const std::string& name) const;
bool existSourceName(const std::string& name) const;
@@ -163,23 +169,6 @@ public:
void registerObserver(CAmDatabaseObserver *iObserver);
bool sourceVisible(const am_sourceID_t sourceID) const;
bool sinkVisible(const am_sinkID_t sinkID) const;
-
-private:
- am_timeSync_t calculateMainConnectionDelay(const am_mainConnectionID_t mainConnectionID) const; //!< calculates a new main connection delay
- bool sqQuery(const std::string& query); //!< queries the database
- bool openDatabase(); //!< opens the database
- void createTables(); //!< creates all tables from the static table
- sqlite3 *mpDatabase; //!< pointer to the database
- std::string mPath; //!< path to the database
- CAmDatabaseObserver *mpDatabaseObserver; //!< pointer to the Observer
- bool mFirstStaticSink; //!< bool for dynamic range handling
- bool mFirstStaticSource; //!< bool for dynamic range handling
- bool mFirstStaticGateway; //!< bool for dynamic range handling
- bool mFirstStaticSinkClass; //!< bool for dynamic range handling
- bool mFirstStaticSourceClass; //!< bool for dynamic range handling
- bool mFirstStaticCrossfader; //!< bool for dynamic range handling
- typedef std::map<am_gatewayID_t, std::vector<bool> > ListConnectionFormat; //!< type for list of connection formats
- ListConnectionFormat mListConnectionFormat; //!< list of connection formats
};
}