new struct of configuration paths

This commit is contained in:
john stone 2014-05-02 00:54:08 +02:00
parent b181c1906b
commit 0cef450872
3 changed files with 24 additions and 9 deletions

View File

@ -44,17 +44,24 @@ public:
return rouri->event_fallback_route(event); return rouri->event_fallback_route(event);
} }
} }
std::string const & get_baseurl()const{return _baseurl;} std::string const & get_baseurl()const{return baseurl;}
void set_baseurl(std::string baseurl); void set_baseurl(std::string baseurl);
std::string const & get_file_path()const{return file_path;}
void set_file_path(std::string file_path);
std::string const & get_json_path()const{return json_path;}
void set_json_path(std::string json_path);
std::string const & get_persist_path() const { return perists_path;} std::string const & get_persist_path() const { return perists_path;}
private: private:
explicit Routerin(); explicit Routerin();
std::unique_ptr<StaticFileHandler> sfh; std::unique_ptr<StaticFileHandler> sfh;
DynamicObjects * _dyn_obs; DynamicObjects * _dyn_obs;
std::string _baseurl; std::string baseurl;
std::string perists_path; std::string file_path;
std::string json_path;
bool hasInstance = false; bool hasInstance = false;

View File

@ -21,3 +21,7 @@ option "daemonize" D "Detach from calling terminal" flag off
option "dns" d "also start an dns fakeserver" option "dns" d "also start an dns fakeserver"
option "filedir" f "Directory for data storage. Musst be r/w able" string default="./files/" option "filedir" f "Directory for data storage. Musst be r/w able" string default="./files/"
option "janssons" j "Directory libjansson jasons db. Musst be r/w able" string default="./janssons/"
option "baseurl" b "Directory for data storage. Musst be r/w able" string default="/"

View File

@ -24,19 +24,16 @@ class MongooseHandler{
public: public:
//default listenport:8080 //default listenport:8080
MongooseHandler(int listenport=8080,std::string baseurl="http://[::1]/"): MongooseHandler(int listenport=8080):
ctx(nullptr), ctx(nullptr),
listenport(listenport) listenport(listenport)
{ {
char portstring[8]; char portstring[8];
Routerin *routerin = Routerin::get_instance();
routerin->set_baseurl(baseurl);
std::snprintf(portstring,8,"%d",this->listenport); std::snprintf(portstring,8,"%d",this->listenport);
const char *options[] = const char *options[] =
{"listening_ports",portstring,nullptr}; {"listening_ports",portstring,nullptr};
this->ctx= mg_start(options, routerin->event_route, nullptr); this->ctx= mg_start(options, Routerin::event_route, nullptr);
} }
//no copy constructor: //no copy constructor:
@ -139,9 +136,16 @@ int main(int argc, char **argv)
sa.sa_handler = signalhandler; sa.sa_handler = signalhandler;
sigaction(SIGINT, &sa ,nullptr); sigaction(SIGINT, &sa ,nullptr);
Routerin * merouterin = Routerin::get_instance();
merouterin->set_baseurl(args_info.baseurl_arg);
merouterin->set_json_path(args_info.janssons_arg);
merouterin->set_file_path(args_info.filedir_arg);
MongooseHandler *m = new MongooseHandler(args_info.port_arg); MongooseHandler *m = new MongooseHandler(args_info.port_arg);
if (!args_info.daemonize_flag) { if (!args_info.daemonize_flag) {
while(1) while(1)
getchar(); getchar();