diff options
Diffstat (limited to 'AudioManagerDaemon/include/CAmDatabaseHandler.h')
-rw-r--r-- | AudioManagerDaemon/include/CAmDatabaseHandler.h | 37 |
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 }; } |