Code clean, we will change the database later - level-db to sqlite.
Change class name and remove interface to ML-Service DB.
Signed-off-by: Jaeyun Jung <jy1210.jung@samsung.com>
#include <iostream>
/**
- * @brief Interface for database operation of ML service
+ * @brief Class for ML-Service Database.
*/
-class IMLServiceDB
+class MLServiceDB
{
public:
- /**
- * @brief Destroy the IMLServiceDB object
- */
- virtual ~IMLServiceDB ()
- {
- };
- virtual void connectDB () = 0;
- virtual void disconnectDB () = 0;
- virtual void put (const std::string key, const std::string value) = 0;
- virtual void get (const std::string name,
- std::string & out_value) = 0;
- virtual void del (const std::string name) = 0;
-};
-
-/**
- * @brief Class for implementation of IMLServiceDB
- */
-class MLServiceLevelDB : public IMLServiceDB
-{
-public:
- MLServiceLevelDB (const MLServiceLevelDB &) = delete;
- MLServiceLevelDB (MLServiceLevelDB &&) = delete;
- MLServiceLevelDB & operator= (const MLServiceLevelDB &) = delete;
- MLServiceLevelDB & operator= (MLServiceLevelDB &&) = delete;
-
- virtual void connectDB () override;
- virtual void disconnectDB () override;
- virtual void put (const std::string name,
- const std::string value) override;
- virtual void get (std::string name,
- std::string & out_value) override;
+ MLServiceDB (const MLServiceDB &) = delete;
+ MLServiceDB (MLServiceDB &&) = delete;
+ MLServiceDB & operator= (const MLServiceDB &) = delete;
+ MLServiceDB & operator= (MLServiceDB &&) = delete;
+
+ virtual void connectDB ();
+ virtual void disconnectDB ();
+ virtual void put (const std::string name, const std::string value);
+ virtual void get (std::string name, std::string &out_value);
virtual void del (std::string name);
- static IMLServiceDB & getInstance (void);
+ static MLServiceDB & getInstance (void);
private:
- MLServiceLevelDB (std::string path);
- virtual ~MLServiceLevelDB ();
+ MLServiceDB (std::string path);
+ virtual ~MLServiceDB ();
std::string path;
leveldb_t *db_obj;
const gchar *path)
{
int ret = 0;
- IMLServiceDB &db = MLServiceLevelDB::getInstance ();
+ MLServiceDB &db = MLServiceDB::getInstance ();
try {
db.connectDB();
{
int ret = 0;
std::string ret_path;
- IMLServiceDB & db = MLServiceLevelDB::getInstance ();
+ MLServiceDB &db = MLServiceDB::getInstance ();
try {
db.connectDB ();
const gchar *name)
{
int ret = 0;
- IMLServiceDB & db = MLServiceLevelDB::getInstance ();
+ MLServiceDB &db = MLServiceDB::getInstance ();
try {
db.connectDB ();
return 0;
out_disconnect:
- gdbus_disconnect_signal (g_gdbus_instance,
+ gdbus_disconnect_signal (g_gdbus_instance,
ARRAY_SIZE (handler_infos), handler_infos);
out:
static void
exit_model_module (void *data)
{
- gdbus_disconnect_signal (g_gdbus_instance,
+ gdbus_disconnect_signal (g_gdbus_instance,
ARRAY_SIZE (handler_infos), handler_infos);
gdbus_put_model_instance (&g_gdbus_instance);
}
GDBusMethodInvocation *invoc, const gchar *service_name, const gchar *pipeline_desc, gpointer user_data)
{
gint result = 0;
- IMLServiceDB &db = MLServiceLevelDB::getInstance ();
+ MLServiceDB &db = MLServiceDB::getInstance ();
try {
db.connectDB ();
{
gint result = 0;
std::string stored_pipeline_description;
- IMLServiceDB &db = MLServiceLevelDB::getInstance ();
+ MLServiceDB &db = MLServiceDB::getInstance ();
try {
db.connectDB ();
GDBusMethodInvocation *invoc, const gchar *service_name, gpointer user_data)
{
gint result = 0;
- IMLServiceDB &db = MLServiceLevelDB::getInstance ();
+ MLServiceDB &db = MLServiceDB::getInstance ();
try {
db.connectDB ();
GstElement *pipeline = NULL;
pipeline_s *p;
- IMLServiceDB &db = MLServiceLevelDB::getInstance ();
+ MLServiceDB &db = MLServiceDB::getInstance ();
std::string stored_pipeline_description;
/** get pipeline description from the DB */
#define DB_KEY_PREFIX MESON_KEY_PREFIX
/**
- * @brief Get an instance of IMLServiceDB, which is created only once at runtime.
- * @return IMLServiceDB& IMLServiceDB instance
+ * @brief Get an instance of MLServiceDB, which is created only once at runtime.
+ * @return MLServiceDB& MLServiceDB instance
*/
-IMLServiceDB & MLServiceLevelDB::getInstance (void)
+MLServiceDB & MLServiceDB::getInstance (void)
{
- static MLServiceLevelDB instance (ML_DATABASE_PATH);
+ static MLServiceDB instance (ML_DATABASE_PATH);
return instance;
}
/**
- * @brief Construct a new MLServiceLevelDB object
+ * @brief Construct a new MLServiceDB object.
* @param path database path
*/
-MLServiceLevelDB::MLServiceLevelDB (std::string path)
-: path (path), db_obj (nullptr), db_roptions (nullptr), db_woptions (nullptr)
+MLServiceDB::MLServiceDB (std::string path)
+: path (path), db_obj (nullptr), db_roptions (nullptr), db_woptions (nullptr)
{
db_roptions = leveldb_readoptions_create ();
db_woptions = leveldb_writeoptions_create ();
}
/**
- * @brief Destroy the MLServiceLevelDB object
+ * @brief Destroy the MLServiceDB object.
*/
-MLServiceLevelDB::~MLServiceLevelDB ()
+MLServiceDB::~MLServiceDB ()
{
disconnectDB ();
leveldb_readoptions_destroy (db_roptions);
}
/**
- * @brief Connect the level DB and initialize the private variables.
+ * @brief Connect to ML Service DB and initialize the private variables.
*/
void
-MLServiceLevelDB::connectDB ()
+MLServiceDB::connectDB ()
{
char *err = nullptr;
leveldb_options_t *db_options;
}
/**
- * @brief Disconnect the level DB
+ * @brief Disconnect the DB.
* @note LevelDB does not support multi-process and it might cause
* the IO exception when multiple clients write the key simultaneously.
*/
void
-MLServiceLevelDB::disconnectDB ()
+MLServiceDB::disconnectDB ()
{
if (db_obj) {
leveldb_close (db_obj);
/**
* @brief Set the value with the given name.
* @note If the name already exists, the pipeline description is overwritten.
- * @param[in] name Unique name to retrieve the associated pipeline description.
+ * @param[in] name Unique name to set the associated pipeline description.
* @param[in] value The pipeline description to be stored.
*/
void
-MLServiceLevelDB::put (const std::string name,
- const std::string value)
+MLServiceDB::put (const std::string name, const std::string value)
{
char *err = nullptr;
* @param[out] value The pipeline corresponding with the given name.
*/
void
-MLServiceLevelDB::get (const std::string name,
- std::string & out_value)
+MLServiceDB::get (const std::string name, std::string & out_value)
{
char *err = nullptr;
char *value = nullptr;
* @param[in] name The unique name to delete
*/
void
-MLServiceLevelDB::del (const std::string name)
+MLServiceDB::del (const std::string name)
{
char *err = nullptr;
char *value = nullptr;