summaryrefslogtreecommitdiffstats
path: root/ahl-binding/role.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ahl-binding/role.cpp')
-rw-r--r--ahl-binding/role.cpp92
1 files changed, 46 insertions, 46 deletions
diff --git a/ahl-binding/role.cpp b/ahl-binding/role.cpp
index a073b33..bc109e8 100644
--- a/ahl-binding/role.cpp
+++ b/ahl-binding/role.cpp
@@ -112,17 +112,17 @@ const std::vector<interrupt_t>& role_t::interrupts() const
return interrupts_;
}
-int role_t::apply_policy(afb_request* req)
+int role_t::apply_policy(afb_req_t req)
{
return interrupts_.size() ? interrupts_[0].apply(req, *this) : 0;
}
-void role_t::invoke(afb_request* req)
+void role_t::invoke(afb_req_t req)
{
- json_object* arg = afb_request_json(req);
+ json_object* arg = afb_req_json(req);
if (arg == nullptr)
{
- afb_request_fail(req, "No valid argument!", nullptr);
+ afb_req_fail(req, "No valid argument!", nullptr);
return;
}
@@ -130,14 +130,14 @@ void role_t::invoke(afb_request* req)
json_bool ret = json_object_object_get_ex(arg, "action", &jaction);
if (!ret)
{
- afb_request_fail(req, "No valid action!", nullptr);
+ afb_req_fail(req, "No valid action!", nullptr);
return;
}
std::string action = json_object_get_string(jaction);
if (action.size() == 0)
{
- afb_request_fail(req, "No valid action!", nullptr);
+ afb_req_fail(req, "No valid action!", nullptr);
return;
}
@@ -147,14 +147,14 @@ void role_t::invoke(afb_request* req)
else if (action == "interrupt") interrupt(req, arg);
else if (action == "mute") mute(req, arg);
else if (action == "unmute") unmute(req, arg);
- else afb_request_fail(req, "Unknown action!", nullptr);
+ else afb_req_fail(req, "Unknown action!", nullptr);
}
-void role_t::open(afb_request* r, json_object* o)
+void role_t::open(afb_req_t r, json_object* o)
{
if (opened_)
{
- afb_request_fail(r, "Already opened!", nullptr);
+ afb_req_fail(r, "Already opened!", nullptr);
return;
}
@@ -164,11 +164,11 @@ void role_t::open(afb_request* r, json_object* o)
0, // Do not replace previous context if any
[](void* arg) -> void* { return new session_t(); },
[](void* arg) {
- afb_dynapi * api = ahl_binding_t::instance().handle();
+ afb_api_t api = ahl_binding_t::instance().handle();
session_t* opened_roles = reinterpret_cast<session_t*>(arg);
for(role_t* role : *opened_roles)
{
- AFB_DYNAPI_DEBUG(api, "Released role %s\n", role->uid_.c_str());
+ AFB_API_DEBUG(api, "Released role %s\n", role->uid_.c_str());
role->opened_ = false;
if(role->interrupts_.size()) role->interrupts_[0].clear();
@@ -177,7 +177,7 @@ void role_t::open(afb_request* r, json_object* o)
json_object* a = json_object_new_object();
json_object_object_add(a, "mute", json_object_new_boolean(true));
- afb_dynapi_call(
+ afb_api_call(
api,
role->hal_.c_str(),
role->stream_.c_str(),
@@ -199,22 +199,22 @@ void role_t::open(afb_request* r, json_object* o)
json_object* result = json_object_new_object();
json_object_object_add(result, "device_uri", json_object_new_string(device_uri_.c_str()));
- afb_request_success(r, result, nullptr);
+ afb_req_success(r, result, nullptr);
}
}
-void role_t::close(afb_request* r, json_object* o)
+void role_t::close(afb_req_t r, json_object* o)
{
if (!opened_)
{
- afb_request_success(r, nullptr, "Already closed!");
+ afb_req_success(r, nullptr, "Already closed!");
return;
}
session_t* context = reinterpret_cast<session_t*>(afb_req_context_get(r));
if(!context)
{
- afb_request_fail(r, "Stream is opened by another client!", nullptr);
+ afb_req_fail(r, "Stream is opened by another client!", nullptr);
return;
}
@@ -225,69 +225,69 @@ void role_t::close(afb_request* r, json_object* o)
opened_ = false;
if(interrupts_.size()) interrupts_[0].clear();
- afb_request_success(r, nullptr, "Stream closed!");
+ afb_req_success(r, nullptr, "Stream closed!");
}
-void role_t::mute(afb_request * r, json_object* o) {
+void role_t::mute(afb_req_t r, json_object* o) {
do_mute(r, true);
}
-void role_t::unmute(afb_request *r, json_object *o) {
+void role_t::unmute(afb_req_t r, json_object *o) {
do_mute(r, false);
}
-void role_t::do_mute(afb_request * r, bool v) {
+void role_t::do_mute(afb_req_t r, bool v) {
json_object* a = json_object_new_object();
json_object_object_add(a, "mute", json_object_new_boolean(v));
- afb_dynapi * api = ahl_binding_t::instance().handle();
+ afb_api_t api = ahl_binding_t::instance().handle();
- afb_dynapi_call(
+ afb_api_call(
api,
hal_.c_str(),
stream_.c_str(),
a,
- [](void* closure, int status, json_object* result, afb_dynapi* handle)
+ [](void* closure, json_object* result, const char* error, const char* info, afb_api_t handle)
{
- AFB_DYNAPI_DEBUG(handle, "Got the following answer: %s", json_object_to_json_string(result));
- afb_request* r = (afb_request*)closure;
+ AFB_API_DEBUG(handle, "Got the following answer: %s", json_object_to_json_string(result));
+ afb_req_t r = (afb_req_t)closure;
json_object_get(result);
- if (status) afb_request_fail(r, json_object_to_json_string(result), nullptr);
- else afb_request_success(r, result, nullptr);
- afb_request_unref(r);
+ if (error) afb_req_fail(r, json_object_to_json_string(result), nullptr);
+ else afb_req_success(r, result, nullptr);
+ afb_req_unref(r);
},
- afb_request_addref(r));
+ afb_req_addref(r));
}
-void role_t::volume(afb_request* r, json_object* o)
+void role_t::volume(afb_req_t r, json_object* o)
{
- afb_dynapi * api = ahl_binding_t::instance().handle();
+ afb_api_t api = ahl_binding_t::instance().handle();
- if(!afb_request_has_permission(r, "urn:AGL:permission::public:4a-audio-mixer"))
+ if(!afb_req_has_permission(r, "urn:AGL:permission::public:4a-audio-mixer"))
{
if (!opened_)
{
- afb_request_fail(r, "You have to open the stream first!", nullptr);
+ afb_req_fail(r, "You have to open the stream first!", nullptr);
return;
}
- if(!afb_request_context_get(r))
+ if(!afb_req_context_get(r))
{
- afb_request_fail(r, "Stream is opened by another client!", nullptr);
+ afb_req_fail(r, "Stream is opened by another client!", nullptr);
return;
}
}
else
{
- AFB_DYNAPI_DEBUG(api, "Granted special audio-mixer permission to change volume");
+ AFB_API_DEBUG(api, "Granted special audio-mixer permission to change volume");
}
json_object* value;
json_bool ret = json_object_object_get_ex(o, "value", &value);
if (!ret)
{
- afb_request_fail(r, "No value given!", nullptr);
+ afb_req_fail(r, "No value given!", nullptr);
return;
}
@@ -296,24 +296,24 @@ void role_t::volume(afb_request* r, json_object* o)
json_object* a = json_object_new_object();
json_object_object_add(a, "volume", value);
- afb_dynapi_call(
+ afb_api_call(
api,
hal_.c_str(),
stream_.c_str(),
a,
- [](void* closure, int status, json_object* result, afb_dynapi* handle)
+ [](void* closure, json_object* result, const char* error, const char* info, afb_api_t handle)
{
- AFB_DYNAPI_DEBUG(handle, "Got the following answer: %s", json_object_to_json_string(result));
- afb_request* r = (afb_request*)closure;
+ AFB_API_DEBUG(handle, "Got the following answer: %s", json_object_to_json_string(result));
+ afb_req_t r = (afb_req_t)closure;
json_object_get(result);
- if (status) afb_request_fail(r, json_object_to_json_string(result), nullptr);
- else afb_request_success(r, result, nullptr);
- afb_request_unref(r);
+ if (error) afb_req_fail(r, json_object_to_json_string(result), nullptr);
+ else afb_req_success(r, result, nullptr);
+ afb_req_unref(r);
},
- afb_request_addref(r));
+ afb_req_addref(r));
}
-void role_t::interrupt(afb_request* r, json_object* o)
+void role_t::interrupt(afb_req_t r, json_object* o)
{
}