/*
- * Copyright (C) 2015 "IoT.bzh"
+ * Copyright (C) 2015, 2016 "IoT.bzh"
* Author "Manuel Bachmann"
*
* Licensed under the Apache License, Version 2.0 (the "License");
#include "audio-pulse.h"
#endif
-#include "afb-plugin.h"
-#include "afb-req-itf.h"
+#include <afb/afb-plugin.h>
+#include <afb/afb-req-itf.h>
/* ------ BACKEND FUNCTIONS ------- */
static void volume (struct afb_req request) { /* AFB_SESSION_CHECK */
audioCtxHandleT *ctx = (audioCtxHandleT*) afb_req_context_get(request);
- struct afb_arg arg = afb_req_get (request, "value");
- const char *value = arg.value;
+ const char *value = afb_req_value (request, "value");
json_object *jresp;
unsigned int volume[8], i;
char *volume_i;
static void channels (struct afb_req request) { /* AFB_SESSION_CHECK */
audioCtxHandleT *ctx = (audioCtxHandleT*) afb_req_context_get(request);
- struct afb_arg arg = afb_req_get (request, "value");
- const char *value = arg.value;
+ const char *value = afb_req_value (request, "value");
json_object *jresp = json_object_new_object();
char channels_str[256];
static void mute (struct afb_req request) { /* AFB_SESSION_CHECK */
audioCtxHandleT *ctx = (audioCtxHandleT*) afb_req_context_get(request);
- struct afb_arg arg = afb_req_get (request, "value");
- const char *value = arg.value;
+ const char *value = afb_req_value (request, "value");
json_object *jresp = json_object_new_object();
/* no "?value=" parameter : return current state */
static void play (struct afb_req request) { /* AFB_SESSION_CHECK */
audioCtxHandleT *ctx = (audioCtxHandleT*) afb_req_context_get(request);
- struct afb_arg arg = afb_req_get (request, "value");
- const char *value = arg.value;
+ const char *value = afb_req_value (request, "value");
json_object *jresp = json_object_new_object();
/* no "?value=" parameter : return current state */
afb_req_success (request, NULL, "Audio - Ping success");
}
-static const struct AFB_restapi pluginApis[]= {
+static const struct AFB_verb_desc_v1 verbs[]= {
{"init" , AFB_SESSION_CHECK, init , "Audio API - init"},
{"volume" , AFB_SESSION_CHECK, volume , "Audio API - volume"},
{"channels", AFB_SESSION_CHECK, channels , "Audio API - channels"},
};
static const struct AFB_plugin pluginDesc = {
- .type = AFB_PLUGIN_JSON,
- .info = "Application Framework Binder - Audio plugin",
- .prefix = "audio",
- .apis = pluginApis
+ .type = AFB_PLUGIN_VERSION_1,
+ .v1 = {
+ .info = "Application Framework Binder - Audio plugin",
+ .prefix = "audio",
+ .verbs = verbs
+ }
};
-const struct AFB_plugin *pluginRegister (const struct AFB_interface *itf)
+const struct AFB_plugin *pluginAfbV1Register (const struct AFB_interface *itf)
{
return &pluginDesc;
}