file: convert to plugin library
authorJo-Philipp Wich <jow@openwrt.org>
Mon, 2 Sep 2013 12:52:37 +0000 (14:52 +0200)
committerJo-Philipp Wich <jow@openwrt.org>
Mon, 2 Sep 2013 13:23:09 +0000 (15:23 +0200)
file.c
file.h
main.c

diff --git a/file.c b/file.c
index b0bdd99397f42107dc7a72b928875a008ed1519f..2d3327288c1f465742e86c5bca6931683580e71b 100644 (file)
--- a/file.c
+++ b/file.c
  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-#include <fcntl.h>
-#include <errno.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <limits.h>
-#include <dirent.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-
 #include "file.h"
+#include "plugin.h"
 
 static struct blob_buf buf;
 
@@ -546,7 +537,8 @@ rpc_file_exec(struct ubus_context *ctx, struct ubus_object *obj,
 }
 
 
-int rpc_file_api_init(struct ubus_context *ctx)
+static int
+rpc_file_api_init(const struct rpc_daemon_ops *o, struct ubus_context *ctx)
 {
        static const struct ubus_method file_methods[] = {
                UBUS_METHOD("read",    rpc_file_read,  rpc_file_policy),
@@ -568,3 +560,7 @@ int rpc_file_api_init(struct ubus_context *ctx)
 
        return ubus_add_object(ctx, &obj);
 }
+
+const struct rpc_plugin rpc_plugin = {
+       .init = rpc_file_api_init
+};
diff --git a/file.h b/file.h
index c4cb0d81a1517582e3ebc256dd20dcd3d7f88349..870e26718c0182d7e2063e03d28a9f74829ca4d1 100644 (file)
--- a/file.h
+++ b/file.h
 #ifndef __RPC_FILE_H
 #define __RPC_FILE_H
 
+#include <fcntl.h>
+#include <errno.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <limits.h>
+#include <dirent.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
 #include <libubus.h>
 #include <libubox/blobmsg.h>
 #include <libubox/ustream.h>
@@ -57,6 +66,4 @@ struct rpc_file_exec_context {
        int stat;
 };
 
-int rpc_file_api_init(struct ubus_context *ctx);
-
 #endif
diff --git a/main.c b/main.c
index 4b8956f100e2a51b9da8b19a2d10125a046a0d78..e8d6805d880f14217ac6895f788a9ea6c44129b8 100644 (file)
--- a/main.c
+++ b/main.c
@@ -24,7 +24,6 @@
 #include <signal.h>
 
 #include "session.h"
-#include "file.h"
 #include "uci.h"
 #include "luci2.h"
 #include "plugin.h"
@@ -62,7 +61,6 @@ int main(int argc, char **argv)
        ubus_add_uloop(ctx);
 
        rpc_session_api_init(ctx);
-       rpc_file_api_init(ctx);
        rpc_uci_api_init(ctx);
        rpc_luci2_api_init(ctx);
        rpc_plugin_api_init(ctx);