X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FEnvironment%2Frealwx_ctrl.cxx;h=3db5d905845a8c08e5b93a4633935ae82a82e967;hb=24c1129140dd1a04ac8a9fe5d6b0a17387b49304;hp=f80a518e3c51f58cf331058ba3e4b831b4bc57c9;hpb=8a582e63760a4650446d7d391f8c3ba6d04f3af6;p=flightgear.git diff --git a/src/Environment/realwx_ctrl.cxx b/src/Environment/realwx_ctrl.cxx index f80a518e3..3db5d9058 100644 --- a/src/Environment/realwx_ctrl.cxx +++ b/src/Environment/realwx_ctrl.cxx @@ -232,30 +232,32 @@ BasicRealWxController::BasicRealWxController( SGPropertyNode_ptr rootNode, Metar _wasEnabled(false), _requester(metarRequester) { - // at least instantiate MetarProperties for /environment/metar - _metarProperties.push_back( new LiveMetarProperties( - fgGetNode( rootNode->getStringValue("metar", "/environment/metar"), true ), - metarRequester, - getMetarMaxAgeMin())); - - BOOST_FOREACH( SGPropertyNode_ptr n, rootNode->getChildren("metar") ) { - SGPropertyNode_ptr metarNode = fgGetNode( n->getStringValue(), true ); - addMetarAtPath(metarNode->getPath(), ""); - } - - SGCommandMgr::instance()->addCommand("request-metar", commandRequestMetar); - SGCommandMgr::instance()->addCommand("clear-metar", commandClearMetar); + + globals->get_commands()->addCommand("request-metar", commandRequestMetar); + globals->get_commands()->addCommand("clear-metar", commandClearMetar); } BasicRealWxController::~BasicRealWxController() { - //SGCommandMgr::instance()->removeCommand("request-metar"); + globals->get_commands()->removeCommand("request-metar"); + globals->get_commands()->removeCommand("clear-metar"); } void BasicRealWxController::init() { _wasEnabled = false; + // at least instantiate MetarProperties for /environment/metar + SGPropertyNode_ptr metarNode = fgGetNode( _rootNode->getStringValue("metar", "/environment/metar"), true ); + _metarProperties.push_back( new LiveMetarProperties(metarNode, + _requester, + getMetarMaxAgeMin())); + + BOOST_FOREACH( SGPropertyNode_ptr n, _rootNode->getChildren("metar") ) { + SGPropertyNode_ptr metarNode = fgGetNode( n->getStringValue(), true ); + addMetarAtPath(metarNode->getPath(), ""); + } + checkNearbyMetar(); update(0); // fetch data ASAP @@ -382,6 +384,9 @@ public: // implementation of MetarRequester virtual void requestMetar( MetarDataHandler * metarDataHandler, const std::string & id ); + virtual ~NoaaMetarRealWxController() + { + } private: }; @@ -457,11 +462,15 @@ void NoaaMetarRealWxController::requestMetar } /* -------------------------------------------------------------------------------- */ - + RealWxController * RealWxController::createInstance( SGPropertyNode_ptr rootNode ) { return new NoaaMetarRealWxController( rootNode ); } + +RealWxController::~RealWxController() +{ +} /* -------------------------------------------------------------------------------- */