diff options
Diffstat (limited to 'ahl-binding/role.cpp')
-rw-r--r-- | ahl-binding/role.cpp | 92 |
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) { } |