void NMEAEndpoint::add_midpoint_cmd(Command_ptr command){ try{ NMEAMidpoint_ptr midpoint = NMEAMidpoint::factory(getConnectedTo(),command->getArguments()); unregisterEndpoint(); setConnectedTo(midpoint); registerEndpoint(); command->answer("Midpoint created and connected.", shared_from_this()); } catch(std::exception& e){ command->answer(Answer::WRONG_ARGS, "Cannot understand "+command->getArguments()+" for command "+command->getCommand()+". Not a midpoint class\n", shared_from_this()); } }
Endpoint::Endpoint(boost::shared_ptr<Endpoint> connectedTo){ setConnectedTo(connectedTo); }