X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fengineer%2Fengineer.cpp;h=e0d45b0e00f7719cd3626a352533c6ea12227cc4;hb=010d8321e982d1684fcbff5bf6fc2bdec7cb7bae;hp=14e98c6b6b7aa2074bcfdb6c5f59a7ad0b696caa;hpb=6109a2122226e1c71e9cc71e4c21036e99e43601;p=r2c2.git diff --git a/source/engineer/engineer.cpp b/source/engineer/engineer.cpp index 14e98c6..e0d45b0 100644 --- a/source/engineer/engineer.cpp +++ b/source/engineer/engineer.cpp @@ -20,6 +20,7 @@ Distributed under the GPL #include #include #include +#include #include "libmarklin/except.h" #include "libmarklin/tracktype.h" #include "engineer.h" @@ -37,6 +38,7 @@ Engineer::Engineer(int argc, char **argv): fullscreen(false), layout(catalogue), layout_3d(layout), + server(0), train_prop(0), train_prop_stale(false), placing_train(0), @@ -49,6 +51,7 @@ Engineer::Engineer(int argc, char **argv): bool debug = false; string device = "/dev/ttyS0"; unsigned quality = 4; + bool network = false; GetOpt getopt; getopt.add_option('r', "resolution", res, GetOpt::REQUIRED_ARG); @@ -57,6 +60,7 @@ Engineer::Engineer(int argc, char **argv): getopt.add_option('d', "device", device, GetOpt::REQUIRED_ARG); getopt.add_option('q', "quality", quality, GetOpt::REQUIRED_ARG); getopt.add_option('s', "simulate", simulate, GetOpt::NO_ARG); + getopt.add_option('n', "network", network, GetOpt::NO_ARG); getopt.add_option( "no-lighting", no_lighting, GetOpt::NO_ARG); getopt(argc, argv); @@ -91,6 +95,12 @@ Engineer::Engineer(int argc, char **argv): if(FS::exists("engineer.state")) DataFile::load(*trfc_mgr, "engineer.state"); + if(network) + { + server = new Server(*trfc_mgr); + server->use_event_dispatcher(event_disp); + } + const map &sensors = control.get_sensors(); for(map::const_iterator i=sensors.begin(); i!=sensors.end(); ++i) i->second->signal_state_changed.connect(sigc::bind(sigc::mem_fun(this, &Engineer::sensor_event), i->second)); @@ -213,6 +223,7 @@ void Engineer::tick() control.tick(); trfc_mgr->tick(); + event_disp.tick(Time::zero); glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);