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 |