Make DBUS transparency optional (off by default)
[src/app-framework-binder.git] / src / afb-config.h
index c502dbc..89b1f78 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2015, 2016, 2017 "IoT.bzh"
+ * Copyright (C) 2015-2018 "IoT.bzh"
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 
 #pragma once
 
+struct json_object;
+
 /*
- * other definitions --------------------------------------------------- 
+ * other definitions ---------------------------------------------------
  */
 
 struct afb_config_list {
@@ -35,10 +37,13 @@ struct afb_config {
        char *workdir;          // where to run the program
        char *uploaddir;        // where to store transient files
        char *token;            // initial authentication token [default NULL no session]
+       char *name;             /* name to set to the daemon */
 
        struct afb_config_list *aliases;
+#if defined(WITH_DBUS_TRANSPARENCY)
        struct afb_config_list *dbus_clients;
        struct afb_config_list *dbus_servers;
+#endif
        struct afb_config_list *ws_clients;
        struct afb_config_list *ws_servers;
        struct afb_config_list *so_bindings;
@@ -54,17 +59,26 @@ struct afb_config {
        int apiTimeout;
        int cntxTimeout;        // Client Session Context timeout
        int nbSessionMax;       // max count of sessions
+
+       /* enums */
        int mode;               // mode of listening
        int tracereq;
        int traceditf;
        int tracesvc;
        int traceevt;
+       int traceses;
 
        /* booleans */
        unsigned no_ldpaths: 1;         /* disable default ldpaths */
        unsigned noHttpd: 1;
        unsigned background: 1;         /* run in backround mode */
+#if defined(WITH_MONITORING_OPTION)
+       unsigned monitoring: 1;         /* activates monitoring */
+#endif
+       unsigned random_token: 1;       /* expects a random token */
 };
 
 extern struct afb_config *afb_config_parse_arguments(int argc, char **argv);
 extern void afb_config_dump(struct afb_config *config);
+extern struct json_object *afb_config_json(struct afb_config *config);
+