src/server/daemon/configmanager.c

changeset 388
30d29ef5b79a
parent 255
b5d15a4a19f5
child 392
0aef555055ee
equal deleted inserted replaced
387:f5caf41b4db6 388:30d29ef5b79a
49 49
50 NSAPI_PUBLIC conf_global_vars_s* conf_getglobals() { 50 NSAPI_PUBLIC conf_global_vars_s* conf_getglobals() {
51 return &global_vars; 51 return &global_vars;
52 } 52 }
53 53
54 int cfgmgr_load_config(ServerConfiguration **set_cfg) { 54 int cfgmgr_load_config(CfgManager *mgr) {
55 ServerConfiguration *config = load_server_conf("config/server.conf"); 55 ZERO(mgr, sizeof(CfgManager));
56 ServerConfiguration *config = load_server_conf(mgr, "config/server.conf");
56 57
57 if(!config) { 58 if(!config) {
58 return -1; 59 return -1;
59 } 60 }
60 61
61 if(set_cfg) { 62 mgr->cfg = config;
62 *set_cfg = config;
63 }
64 63
65 if(current_config) { 64 if(current_config) {
66 cfg_unref(current_config); 65 cfg_unref(current_config);
67 } 66 }
68 current_config = config; 67 current_config = config;
69 68
70 return 0; 69 return 0;
71 } 70 }
72 71
72 int cfgmgr_apply_config(CfgManager *mgr) {
73 int err = 1;
74 if(apply_server_conf(mgr)) {
75 err = 0;
76 if(current_config) {
77 cfg_unref(current_config);
78 }
79 current_config = mgr->cfg;
80 }
81
82 return err;
83 }
84
73 ServerConfiguration *cfgmgr_get_server_config() { 85 ServerConfiguration *cfgmgr_get_server_config() {
74 return current_config; 86 return current_config;
75 } 87 }
76 88
77 89

mercurial