X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-config.h;h=acf1f38f6be812f4ad8859f182dd46b5427621a6;hb=bb5806063c450da26a38e1915f076723d00df260;hp=c0def7c84860c9ee7f7e415c8b6c3dd51b52620c;hpb=c7e9786d408f13d8f8f43c6b68da916bbb1ed5f3;p=src%2Fapp-framework-binder.git diff --git a/src/afb-config.h b/src/afb-config.h index c0def7c8..acf1f38f 100644 --- a/src/afb-config.h +++ b/src/afb-config.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2015, 2016 "IoT.bzh" + * Copyright (C) 2015, 2016, 2017 "IoT.bzh" * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,54 +13,52 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#ifndef LOCAL_DEF_H -#define LOCAL_DEF_H #pragma once -/* other definitions --------------------------------------------------- */ - -// Note: because of a bug in libmagic MAGIC_DB NULL should not be used for default -#define MAX_ALIAS 10 // max number of aliases - -#define DEFLT_CNTX_TIMEOUT 3600 // default Client Connection Timeout -#define DEFLT_API_TIMEOUT 0 // default Plugin API Timeout [0=NoLimit for Debug Only] -#define DEFLT_CACHE_TIMEOUT 100000 // default Static File Chache [Client Side Cache 100000~=1day] -#define DEFLT_AUTH_TOKEN NULL // expect for debug should == NULL -#define DEFLT_HTTP_TIMEOUT 15 // Max MibMicroHttp timeout - -#define CTX_NBCLIENTS 10 // allow a default of 10 authenticated clients +/* + * other definitions --------------------------------------------------- + */ -struct afb_config_item -{ - struct afb_config_item *previous; - int kind; +struct afb_config_list { + struct afb_config_list *next; char *value; }; // main config structure -struct afb_config -{ - char *console; // console device name (can be a file or a tty) - int httpdPort; - char *ldpaths; // list of plugins directories - char *rootdir; // base dir for httpd file download - char *rootbase; // Angular HTML5 base URL - char *rootapi; // Base URL for REST APIs - char *sessiondir; // where to store mixer session files - char *token; // initial authentication token [default NULL no session] - int background; // run in backround mode - int readyfd; // a #fd to signal when ready to serve - int cacheTimeout; - int apiTimeout; - int cntxTimeout; // Client Session Context timeout - int mode; // mode of listening - int aliascount; - struct afb_config_item *items; - struct { - char *url; - char *path; - } aliasdir[MAX_ALIAS]; // alias mapping for icons,apps,... +struct afb_config { + char *console; // console device name (can be a file or a tty) + char *rootdir; // base dir for files + char *roothttp; // directory for http files + char *rootbase; // Angular HTML5 base URL + char *rootapi; // Base URL for REST APIs + char *workdir; // where to run the program + char *uploaddir; // where to store transient files + char *token; // initial authentication token [default NULL no session] + + struct afb_config_list *aliases; + struct afb_config_list *dbus_clients; + struct afb_config_list *dbus_servers; + struct afb_config_list *ws_clients; + struct afb_config_list *ws_servers; + struct afb_config_list *so_bindings; + struct afb_config_list *ldpaths; + struct afb_config_list *calls; + + char **exec; + + int httpdPort; + int background; // run in backround mode + int cacheTimeout; + int apiTimeout; + int cntxTimeout; // Client Session Context timeout + int nbSessionMax; // max count of sessions + int mode; // mode of listening + int tracereq; + int traceditf; + int tracesvc; + int noHttpd; }; -#endif /* LOCAL_DEF_H */ +extern struct afb_config *afb_config_parse_arguments(int argc, char **argv); +extern void afb_config_dump(struct afb_config *config);