X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FAutopilot%2Fautopilotgroup.cxx;h=c9df860d220a58da2a65b0442eae59204c5e94ad;hb=ff91fec1bb4b59dc2a7084de2a5ab0469abb1f3e;hp=8cf389f8e2d85fb4e6da3d4a8d0a7ba23cc0a353;hpb=1642f1141a5986043dbe6fb30e8e29d804578e09;p=flightgear.git diff --git a/src/Autopilot/autopilotgroup.cxx b/src/Autopilot/autopilotgroup.cxx index 8cf389f8e..c9df860d2 100644 --- a/src/Autopilot/autopilotgroup.cxx +++ b/src/Autopilot/autopilotgroup.cxx @@ -44,6 +44,8 @@ using simgear::PropertyList; class FGXMLAutopilotGroupImplementation : public FGXMLAutopilotGroup { public: + FGXMLAutopilotGroupImplementation(const std::string& nodeName) : + FGXMLAutopilotGroup(), _nodeName(nodeName) {} virtual void addAutopilot( const std::string & name, SGPropertyNode_ptr apNode, SGPropertyNode_ptr config ); virtual void removeAutopilot( const std::string & name ); void init(); @@ -52,6 +54,7 @@ public: private: void initFrom( SGPropertyNode_ptr rootNode, const char * childName ); vector _autopilotNames; + std::string _nodeName; }; @@ -100,12 +103,7 @@ void FGXMLAutopilotGroupImplementation::reinit() void FGXMLAutopilotGroupImplementation::init() { - static const char * nodeNames[] = { - "autopilot", - "property-rule" - }; - for( unsigned i = 0; i < sizeof(nodeNames)/sizeof(nodeNames[0]); i++ ) - initFrom( fgGetNode( "/sim/systems" ), nodeNames[i] ); + initFrom( fgGetNode( "/sim/systems" ), _nodeName.c_str() ); SGSubsystemGroup::bind(); SGSubsystemGroup::init(); @@ -173,7 +171,7 @@ void FGXMLAutopilotGroup::addAutopilotFromFile( const std::string & name, SGProp } } -FGXMLAutopilotGroup * FGXMLAutopilotGroup::createInstance() +FGXMLAutopilotGroup * FGXMLAutopilotGroup::createInstance(const std::string& nodeName) { - return new FGXMLAutopilotGroupImplementation(); + return new FGXMLAutopilotGroupImplementation(nodeName); }