factorize code to add support of shutter
This commit is contained in:
@@ -26,7 +26,7 @@ file(
|
||||
|
||||
# ubus models
|
||||
${workspaceRoot}/src/prog/domod/src/ubus/capabilities-controller.cpp
|
||||
${workspaceRoot}/src/prog/domod/src/ubus/outlets-controller.cpp
|
||||
${workspaceRoot}/src/prog/domod/src/ubus/devices-controller.cpp
|
||||
${workspaceRoot}/src/prog/domod/src/ubus/shutters-controller.cpp
|
||||
${workspaceRoot}/src/prog/domod/src/ubus/sprinklers-controller.cpp
|
||||
${workspaceRoot}/src/prog/domod/src/ubus/sequences-controller.cpp
|
||||
|
||||
@@ -168,6 +168,14 @@ std::string DevicesManager::get(const std::string &a_capability, uint32_t an_id)
|
||||
{
|
||||
the_device = m_outlets[an_id];
|
||||
}
|
||||
else if (a_capability == kShutterEntry)
|
||||
{
|
||||
the_device = m_shutters[an_id];
|
||||
}
|
||||
else if (a_capability == kSprinklerEntry)
|
||||
{
|
||||
the_device = m_sprinklers[an_id];
|
||||
}
|
||||
|
||||
if (the_device != NULL)
|
||||
{
|
||||
@@ -246,8 +254,16 @@ int DevicesManager::create(const std::string &a_capability, struct json_object *
|
||||
{
|
||||
return create_outlet(a_node);
|
||||
}
|
||||
else if (a_capability == kShutterEntry)
|
||||
{
|
||||
return create_shutter(a_node);
|
||||
}
|
||||
else if (a_capability == kSprinklerEntry)
|
||||
{
|
||||
return create_sprinkler(a_node);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return -1;
|
||||
}
|
||||
|
||||
/*! ----------------------------------------------------------------------------
|
||||
@@ -274,8 +290,16 @@ int DevicesManager::update(const std::string &a_capability, struct json_object *
|
||||
{
|
||||
return m_outlets.update(the_id, a_node);
|
||||
}
|
||||
else if (a_capability == kShutterEntry)
|
||||
{
|
||||
return m_shutters.update(the_id, a_node);
|
||||
}
|
||||
else if (a_capability == kSprinklerEntry)
|
||||
{
|
||||
return m_sprinklers.update(the_id, a_node);
|
||||
}
|
||||
|
||||
return 0;
|
||||
return -1;
|
||||
}
|
||||
|
||||
/*! ----------------------------------------------------------------------------
|
||||
@@ -302,6 +326,16 @@ int DevicesManager::del(const std::string &a_capability, struct json_object *a_n
|
||||
{
|
||||
return m_outlets.remove(the_id);
|
||||
}
|
||||
else if (a_capability == kShutterEntry)
|
||||
{
|
||||
return m_shutters.remove(the_id);
|
||||
}
|
||||
else if (a_capability == kSprinklerEntry)
|
||||
{
|
||||
return m_sprinklers.remove(the_id);
|
||||
}
|
||||
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -386,6 +420,28 @@ int DevicesManager::load_shutters(struct json_object *a_node)
|
||||
return 0;
|
||||
|
||||
}
|
||||
/*! ----------------------------------------------------------------------------
|
||||
* @fn create_shutter
|
||||
*
|
||||
* @brief create a new Shutter Object From a Json Node.
|
||||
*/
|
||||
int DevicesManager::create_shutter(struct json_object *a_node)
|
||||
{
|
||||
Shutter* the_shutter = new Shutter;
|
||||
|
||||
if (the_shutter->from_json(a_node) != 0)
|
||||
{
|
||||
delete the_shutter;
|
||||
return -1;
|
||||
}
|
||||
|
||||
the_shutter->set_id(m_shutters.get_new_id());
|
||||
|
||||
m_shutters.add(the_shutter);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/*! ----------------------------------------------------------------------------
|
||||
* @fn load_sprinklers
|
||||
@@ -415,3 +471,25 @@ int DevicesManager::load_sprinklers(struct json_object *a_node)
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*! ----------------------------------------------------------------------------
|
||||
* @fn create_sprinkler
|
||||
*
|
||||
* @brief create a new Sprinklers Object From a Json Node.
|
||||
*/
|
||||
int DevicesManager::create_sprinkler(struct json_object *a_node)
|
||||
{
|
||||
Sprinkler* the_sprinkler = new Sprinkler;
|
||||
|
||||
if (the_sprinkler->from_json(a_node) != 0)
|
||||
{
|
||||
delete the_sprinkler;
|
||||
return -1;
|
||||
}
|
||||
|
||||
the_sprinkler->set_id(m_sprinklers.get_new_id());
|
||||
|
||||
m_sprinklers.add(the_sprinkler);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -66,7 +66,10 @@ private:
|
||||
int create_outlet(struct json_object *a_node);
|
||||
|
||||
int load_shutters(struct json_object *a_node);
|
||||
int create_shutter(struct json_object *a_node);
|
||||
|
||||
int load_sprinklers(struct json_object *a_node);
|
||||
int create_sprinkler(struct json_object *a_node);
|
||||
|
||||
private:
|
||||
std::string m_file_path;
|
||||
|
||||
@@ -41,11 +41,12 @@ extern "C" {
|
||||
#include "devices/devices-manager.h"
|
||||
|
||||
#include "ubus/capabilities-controller.h"
|
||||
#include "ubus/outlets-controller.h"
|
||||
#include "ubus/devices-controller.h"
|
||||
#include "ubus/shutters-controller.h"
|
||||
#include "ubus/sprinklers-controller.h"
|
||||
#include "ubus/sequences-controller.h"
|
||||
|
||||
#include "domo.h"
|
||||
|
||||
/*-------------------------------- DEFINES ---------------------------------*/
|
||||
|
||||
@@ -151,9 +152,9 @@ int main(int argc, char *argv[])
|
||||
|
||||
/* Setup the UBus Models. */
|
||||
CapabilitiesController the_capabilities(the_config_path + "./capabilities.json");
|
||||
OutletsController the_outlets(&the_devices_manager);
|
||||
ShuttersController the_shutters(&the_devices_manager);
|
||||
SprinklersController the_sprinklers(&the_devices_manager);
|
||||
DevicesController the_outlets(&the_devices_manager, kOutletEntry, "domo.outlets");
|
||||
ShuttersController the_shutters(&the_devices_manager, kShutterEntry, "domo.shutters");
|
||||
SprinklersController the_sprinklers(&the_devices_manager, kSprinklerEntry, "domo.sprinklers");
|
||||
SequencesController the_sequences(&the_sequences_manager);
|
||||
|
||||
/* Setup the Ubus context. */
|
||||
|
||||
@@ -35,41 +35,51 @@ extern "C" {
|
||||
|
||||
#include "devices/devices-manager.h"
|
||||
|
||||
#include "domo.h"
|
||||
|
||||
#include "outlets-controller.h"
|
||||
#include "devices-controller.h"
|
||||
|
||||
namespace
|
||||
{
|
||||
|
||||
using namespace UBus;
|
||||
|
||||
static ObjectType gLightsControllerUbus_types(
|
||||
"OutletsController",
|
||||
Method("create", UBUS_CPP(OutletsController, create)),
|
||||
Method("list", UBUS_CPP(OutletsController, list)),
|
||||
Method("read", UBUS_CPP(OutletsController, read), Int32Arg("id")),
|
||||
Method("update", UBUS_CPP(OutletsController, update), Int32Arg("id")),
|
||||
Method("delete", UBUS_CPP(OutletsController, del), Int32Arg("id"))
|
||||
static ObjectType gDeviceControllerUbus_types(
|
||||
"DeviceController",
|
||||
Method("create", UBUS_CPP(DevicesController, create)),
|
||||
Method("list", UBUS_CPP(DevicesController, list)),
|
||||
Method("read", UBUS_CPP(DevicesController, read), Int32Arg("id")),
|
||||
Method("update", UBUS_CPP(DevicesController, update), Int32Arg("id")),
|
||||
Method("delete", UBUS_CPP(DevicesController, remove), Int32Arg("id"))
|
||||
);
|
||||
}
|
||||
|
||||
/*! ----------------------------------------------------------------------------
|
||||
* @fn OutletsController
|
||||
* @fn DevicesController
|
||||
*
|
||||
* @brief Constructor of the Outlets Controller.
|
||||
*/
|
||||
OutletsController::OutletsController(DevicesManager *a_device_manager) : UBusObject(gLightsControllerUbus_types, "domo.outlets"),
|
||||
m_devices_manager(a_device_manager)
|
||||
DevicesController::DevicesController(DevicesManager *a_device_manager, const std::string &a_cap, const std::string &a_service_name) : UBusObject(gDeviceControllerUbus_types, a_service_name.c_str()),
|
||||
m_devices_manager(a_device_manager),
|
||||
m_capability(a_cap)
|
||||
{
|
||||
}
|
||||
|
||||
/*! ----------------------------------------------------------------------------
|
||||
* @fn ~OutletsController
|
||||
* @fn DevicesController
|
||||
*
|
||||
* @brief Constructor of the Outlets Controller.
|
||||
*/
|
||||
DevicesController::DevicesController(DevicesManager *a_device_manager, const std::string &a_cap, const std::string &a_service_name, ubus_object_type &anObjType) : UBusObject(anObjType, a_service_name.c_str()),
|
||||
m_devices_manager(a_device_manager),
|
||||
m_capability(a_cap)
|
||||
{
|
||||
}
|
||||
|
||||
/*! ----------------------------------------------------------------------------
|
||||
* @fn ~DevicesController
|
||||
*
|
||||
* @brief Destructor of the Outlets Controller.
|
||||
*/
|
||||
OutletsController::~OutletsController(void)
|
||||
DevicesController::~DevicesController(void)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -79,7 +89,7 @@ OutletsController::~OutletsController(void)
|
||||
*
|
||||
* @brief Create a new Outlet Object.
|
||||
*/
|
||||
int OutletsController::create(struct ubus_context *, struct ubus_request_data *, struct blob_attr *a_msg)
|
||||
int DevicesController::create(struct ubus_context *, struct ubus_request_data *, struct blob_attr *a_msg)
|
||||
{
|
||||
char *the_string;
|
||||
struct json_object *the_root_node;
|
||||
@@ -96,7 +106,7 @@ int OutletsController::create(struct ubus_context *, struct ubus_request_data *,
|
||||
return UBUS_STATUS_INVALID_ARGUMENT;
|
||||
}
|
||||
|
||||
if (m_devices_manager->create(kOutletEntry, the_root_node) < 0)
|
||||
if (m_devices_manager->create(m_capability, the_root_node) < 0)
|
||||
{
|
||||
fprintf(stderr, "Failed to create a new light.\n");
|
||||
return UBUS_STATUS_INVALID_ARGUMENT;
|
||||
@@ -110,7 +120,7 @@ int OutletsController::create(struct ubus_context *, struct ubus_request_data *,
|
||||
*
|
||||
* @brief List all the outlets
|
||||
*/
|
||||
int OutletsController::list(struct ubus_context *a_ctx, struct ubus_request_data *a_req, struct blob_attr *)
|
||||
int DevicesController::list(struct ubus_context *a_ctx, struct ubus_request_data *a_req, struct blob_attr *)
|
||||
{
|
||||
int the_result;
|
||||
struct blob_buf the_buf = {0};
|
||||
@@ -118,7 +128,7 @@ int OutletsController::list(struct ubus_context *a_ctx, struct ubus_request_data
|
||||
|
||||
blob_buf_init(&the_buf, 0);
|
||||
|
||||
blobmsg_add_json_from_string(&the_buf, m_devices_manager->get(kOutletEntry).c_str());
|
||||
blobmsg_add_json_from_string(&the_buf, m_devices_manager->get(m_capability).c_str());
|
||||
|
||||
the_result = ubus_send_reply(a_ctx, a_req, the_buf.head);
|
||||
|
||||
@@ -132,7 +142,7 @@ int OutletsController::list(struct ubus_context *a_ctx, struct ubus_request_data
|
||||
*
|
||||
* @brief Read a specific outlet object.
|
||||
*/
|
||||
int OutletsController::read(struct ubus_context *a_ctx, struct ubus_request_data *a_req, struct blob_attr *a_msg)
|
||||
int DevicesController::read(struct ubus_context *a_ctx, struct ubus_request_data *a_req, struct blob_attr *a_msg)
|
||||
{
|
||||
uint32_t the_id, the_result;
|
||||
struct blob_buf the_buf = {0};
|
||||
@@ -146,7 +156,7 @@ int OutletsController::read(struct ubus_context *a_ctx, struct ubus_request_data
|
||||
// printf ("update id: %d\n", the_id);
|
||||
blob_buf_init(&the_buf, 0);
|
||||
|
||||
blobmsg_add_json_from_string(&the_buf, m_devices_manager->get(kOutletEntry, the_id).c_str());
|
||||
blobmsg_add_json_from_string(&the_buf, m_devices_manager->get(m_capability, the_id).c_str());
|
||||
|
||||
the_result = ubus_send_reply(a_ctx, a_req, the_buf.head);
|
||||
|
||||
@@ -160,7 +170,7 @@ int OutletsController::read(struct ubus_context *a_ctx, struct ubus_request_data
|
||||
*
|
||||
* @brief Update a specific outlet.
|
||||
*/
|
||||
int OutletsController::update(struct ubus_context *a_ctx, struct ubus_request_data *a_req, struct blob_attr *a_msg)
|
||||
int DevicesController::update(struct ubus_context *a_ctx, struct ubus_request_data *a_req, struct blob_attr *a_msg)
|
||||
{
|
||||
char *the_string;
|
||||
struct json_object *the_root_node;
|
||||
@@ -177,7 +187,7 @@ int OutletsController::update(struct ubus_context *a_ctx, struct ubus_request_da
|
||||
return UBUS_STATUS_INVALID_ARGUMENT;
|
||||
}
|
||||
|
||||
if (m_devices_manager->update(kOutletEntry, the_root_node) < 0)
|
||||
if (m_devices_manager->update(m_capability, the_root_node) < 0)
|
||||
{
|
||||
fprintf(stderr, "Failed to update the state.\n");
|
||||
return UBUS_STATUS_INVALID_ARGUMENT;
|
||||
@@ -193,7 +203,7 @@ int OutletsController::update(struct ubus_context *a_ctx, struct ubus_request_da
|
||||
*
|
||||
* @brief delete a specific outlet.
|
||||
*/
|
||||
int OutletsController::del(struct ubus_context *, struct ubus_request_data *, struct blob_attr *a_msg)
|
||||
int DevicesController::remove(struct ubus_context *, struct ubus_request_data *, struct blob_attr *a_msg)
|
||||
{
|
||||
char *the_string;
|
||||
struct json_object *the_root_node;
|
||||
@@ -210,7 +220,7 @@ int OutletsController::del(struct ubus_context *, struct ubus_request_data *, st
|
||||
return UBUS_STATUS_INVALID_ARGUMENT;
|
||||
}
|
||||
|
||||
if (m_devices_manager->del(kOutletEntry, the_root_node) < 0)
|
||||
if (m_devices_manager->del(m_capability, the_root_node) < 0)
|
||||
{
|
||||
fprintf(stderr, "Failed to update the state.\n");
|
||||
return UBUS_STATUS_INVALID_ARGUMENT;
|
||||
@@ -23,11 +23,12 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _UBUS_OUTLETS_CONTROLLER_H
|
||||
#define _UBUS_OUTLETS_CONTROLLER_H
|
||||
#ifndef _UBUS_DEVICES_CONTROLLER_H
|
||||
#define _UBUS_DEVICES_CONTROLLER_H
|
||||
|
||||
/*------------------------------- INCLUDES ----------------------------------*/
|
||||
|
||||
#include <string>
|
||||
#include <stdint.h>
|
||||
|
||||
#include <ubus-cpp/ubus-object.h>
|
||||
@@ -38,21 +39,22 @@ class DevicesManager;
|
||||
|
||||
/*--------------------------------- CLASS ----------------------------------*/
|
||||
|
||||
class OutletsController : public UBusObject
|
||||
class DevicesController : public UBusObject
|
||||
{
|
||||
|
||||
public:
|
||||
OutletsController(DevicesManager *a_device_manager);
|
||||
~OutletsController(void);
|
||||
DevicesController(DevicesManager *a_device_manager, const std::string &a_cap, const std::string &a_service_name);
|
||||
DevicesController(DevicesManager *a_device_manager, const std::string &a_cap, const std::string &a_service_name, ubus_object_type &anObjType);
|
||||
~DevicesController(void);
|
||||
|
||||
int create(struct ubus_context *, struct ubus_request_data *, struct blob_attr *);
|
||||
int list(struct ubus_context *, struct ubus_request_data *, struct blob_attr *);
|
||||
int read(struct ubus_context *, struct ubus_request_data *, struct blob_attr *);
|
||||
int update(struct ubus_context *, struct ubus_request_data *, struct blob_attr *);
|
||||
int del(struct ubus_context *, struct ubus_request_data *, struct blob_attr *);
|
||||
int remove(struct ubus_context *, struct ubus_request_data *, struct blob_attr *);
|
||||
|
||||
private:
|
||||
protected:
|
||||
DevicesManager *m_devices_manager;
|
||||
std::string m_capability;
|
||||
};
|
||||
|
||||
#endif /* _UBUS_OUTLETS_CONTROLLER_H */
|
||||
#endif /* _UBUS_DEVICES_CONTROLLER_H */
|
||||
@@ -48,7 +48,7 @@ static ObjectType gShuttersControllerUbus_types(
|
||||
Method("list", UBUS_CPP(ShuttersController, list)),
|
||||
Method("read", UBUS_CPP(ShuttersController, read), Int32Arg("id")),
|
||||
Method("update", UBUS_CPP(ShuttersController, update), Int32Arg("id")),
|
||||
Method("delete", UBUS_CPP(ShuttersController, del), Int32Arg("id")),
|
||||
Method("delete", UBUS_CPP(ShuttersController, remove), Int32Arg("id")),
|
||||
|
||||
Method("up", UBUS_CPP(ShuttersController, up)),
|
||||
Method("down", UBUS_CPP(ShuttersController, down))
|
||||
@@ -60,8 +60,7 @@ static ObjectType gShuttersControllerUbus_types(
|
||||
*
|
||||
* @brief Constructor of the UBus Mixer Volume.
|
||||
*/
|
||||
ShuttersController::ShuttersController(DevicesManager *a_device_manager) : UBusObject(gShuttersControllerUbus_types, "domo.shutters"),
|
||||
m_devices_manager(a_device_manager)
|
||||
ShuttersController::ShuttersController(DevicesManager *a_device_manager, const std::string &a_cap, const std::string &a_service_name) : DevicesController(a_device_manager, a_cap, a_service_name, gShuttersControllerUbus_types)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -74,71 +73,29 @@ ShuttersController::~ShuttersController(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/*! ----------------------------------------------------------------------------
|
||||
* @fn create
|
||||
*
|
||||
* @brief Create a new Sequence Object.
|
||||
*/
|
||||
int ShuttersController::create(struct ubus_context *, struct ubus_request_data *, struct blob_attr *)
|
||||
int ShuttersController::create(struct ubus_context *a_ctx, struct ubus_request_data *a_req, struct blob_attr *a_msg)
|
||||
{
|
||||
printf("%s\n", __PRETTY_FUNCTION__);
|
||||
return 0;
|
||||
return DevicesController::create(a_ctx, a_req, a_msg);
|
||||
}
|
||||
|
||||
/*! ----------------------------------------------------------------------------
|
||||
* @fn list
|
||||
*
|
||||
* @brief List all the sequences
|
||||
*/
|
||||
int ShuttersController::list(struct ubus_context *a_ctx, struct ubus_request_data *a_req, struct blob_attr *)
|
||||
int ShuttersController::list(struct ubus_context *a_ctx, struct ubus_request_data *a_req, struct blob_attr *a_msg)
|
||||
{
|
||||
int the_result;
|
||||
struct blob_buf the_buf = {0};
|
||||
printf("%s\n", __PRETTY_FUNCTION__);
|
||||
|
||||
blob_buf_init(&the_buf, 0);
|
||||
|
||||
blobmsg_add_json_from_string(&the_buf, m_devices_manager->get(kShutterEntry).c_str());
|
||||
|
||||
the_result = ubus_send_reply(a_ctx, a_req, the_buf.head);
|
||||
|
||||
blob_buf_free(&the_buf);
|
||||
|
||||
return the_result;
|
||||
return DevicesController::list(a_ctx, a_req, a_msg);
|
||||
}
|
||||
|
||||
/*! ----------------------------------------------------------------------------
|
||||
* @fn read
|
||||
*
|
||||
* @brief Read a specific sequence object.
|
||||
*/
|
||||
int ShuttersController::read(struct ubus_context *, struct ubus_request_data *, struct blob_attr *)
|
||||
int ShuttersController::read(struct ubus_context *a_ctx, struct ubus_request_data *a_req, struct blob_attr *a_msg)
|
||||
{
|
||||
printf("%s\n", __PRETTY_FUNCTION__);
|
||||
return 0;
|
||||
return DevicesController::read(a_ctx, a_req, a_msg);
|
||||
}
|
||||
|
||||
/*! ----------------------------------------------------------------------------
|
||||
* @fn update
|
||||
*
|
||||
* @brief Update a specific sequence.
|
||||
*/
|
||||
int ShuttersController::update(struct ubus_context *, struct ubus_request_data *, struct blob_attr *)
|
||||
int ShuttersController::update(struct ubus_context *a_ctx, struct ubus_request_data *a_req, struct blob_attr *a_msg)
|
||||
{
|
||||
printf("%s\n", __PRETTY_FUNCTION__);
|
||||
return 0;
|
||||
return DevicesController::update(a_ctx, a_req, a_msg);
|
||||
}
|
||||
|
||||
/*! ----------------------------------------------------------------------------
|
||||
* @fn del
|
||||
*
|
||||
* @brief delete a specific sequence.
|
||||
*/
|
||||
int ShuttersController::del(struct ubus_context *, struct ubus_request_data *, struct blob_attr *)
|
||||
int ShuttersController::remove(struct ubus_context *a_ctx, struct ubus_request_data *a_req, struct blob_attr *a_msg)
|
||||
{
|
||||
printf("%s\n", __PRETTY_FUNCTION__);
|
||||
return 0;
|
||||
return DevicesController::remove(a_ctx, a_req, a_msg);
|
||||
}
|
||||
|
||||
/*! ----------------------------------------------------------------------------
|
||||
|
||||
@@ -23,14 +23,14 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _UBUS_SHUTTERS_MODEL_H
|
||||
#define _UBUS_SHUTTERS_MODEL_H
|
||||
#ifndef _UBUS_SHUTTERS_CONTROLLER_H
|
||||
#define _UBUS_SHUTTERS_CONTROLLER_H
|
||||
|
||||
/*------------------------------- INCLUDES ----------------------------------*/
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <ubus-cpp/ubus-object.h>
|
||||
#include "devices-controller.h"
|
||||
|
||||
/*--------------------------------- Define ----------------------------------*/
|
||||
|
||||
@@ -38,23 +38,21 @@ class DevicesManager;
|
||||
|
||||
/*--------------------------------- CLASS ----------------------------------*/
|
||||
|
||||
class ShuttersController : public UBusObject
|
||||
class ShuttersController : public DevicesController
|
||||
{
|
||||
public:
|
||||
ShuttersController(DevicesManager *a_device_manager);
|
||||
ShuttersController(DevicesManager *a_device_manager, const std::string &a_cap, const std::string &a_service_name);
|
||||
~ShuttersController(void);
|
||||
|
||||
int create(struct ubus_context *, struct ubus_request_data *, struct blob_attr *);
|
||||
int list(struct ubus_context *, struct ubus_request_data *, struct blob_attr *);
|
||||
int read(struct ubus_context *, struct ubus_request_data *, struct blob_attr *);
|
||||
int update(struct ubus_context *, struct ubus_request_data *, struct blob_attr *);
|
||||
int del(struct ubus_context *, struct ubus_request_data *, struct blob_attr *);
|
||||
|
||||
int remove(struct ubus_context *, struct ubus_request_data *, struct blob_attr *);
|
||||
|
||||
int up(struct ubus_context *, struct ubus_request_data *, struct blob_attr *);
|
||||
int down(struct ubus_context *, struct ubus_request_data *, struct blob_attr *);
|
||||
|
||||
private:
|
||||
DevicesManager *m_devices_manager;
|
||||
};
|
||||
|
||||
#endif /* _UBUS_CAPABILITIES_SHUTTERS_MODEL_H */
|
||||
#endif /* _UBUS_SHUTTERS_CONTROLLER_H */
|
||||
|
||||
@@ -51,6 +51,7 @@ static ObjectType gSprinklersControllerUbus_types(
|
||||
Method("read", UBUS_CPP(SprinklersController, read), Int32Arg("id")),
|
||||
Method("update", UBUS_CPP(SprinklersController, update), Int32Arg("id")),
|
||||
Method("delete", UBUS_CPP(SprinklersController, del), Int32Arg("id")),
|
||||
|
||||
Method("open", UBUS_CPP(SprinklersController, open), Int32Arg("id")),
|
||||
Method("close", UBUS_CPP(SprinklersController, close), Int32Arg("id"))
|
||||
);
|
||||
@@ -61,7 +62,7 @@ static ObjectType gSprinklersControllerUbus_types(
|
||||
*
|
||||
* @brief Constructor of the UBus Sprinkler controller.
|
||||
*/
|
||||
SprinklersController::SprinklersController(DevicesManager *a_device_manager) : UBusObject(gSprinklersControllerUbus_types, "domo.sprinklers"),
|
||||
SprinklersController::SprinklersController(DevicesManager *a_device_manager, const std::string &a_cap, const std::string &a_service_name) : UBusObject(gSprinklersControllerUbus_types, a_service_name.c_str()),
|
||||
m_devices_manager(a_device_manager)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ class SprinklersController : public UBusObject
|
||||
{
|
||||
|
||||
public:
|
||||
SprinklersController(DevicesManager *a_device_manager);
|
||||
SprinklersController(DevicesManager *a_device_manager, const std::string &a_cap, const std::string &a_service_name);
|
||||
~SprinklersController(void);
|
||||
|
||||
int create(struct ubus_context *, struct ubus_request_data *, struct blob_attr *);
|
||||
|
||||
Reference in New Issue
Block a user