X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FAutopilot%2Ffunctor.hxx;h=7d4f247cb7a4fa7fe414e04423fb9d9b17887cc1;hb=ec2baa1a418b2ba4e45f745ee76d88801feb7e72;hp=b68b683c31f0ae91c66763e191edc9ab117589e8;hpb=52ac173257bf9cc780f0faee5049314442083140;p=flightgear.git diff --git a/src/Autopilot/functor.hxx b/src/Autopilot/functor.hxx index b68b683c3..7d4f247cb 100644 --- a/src/Autopilot/functor.hxx +++ b/src/Autopilot/functor.hxx @@ -31,16 +31,19 @@ namespace FGXMLAutopilot { template class FunctorBase { public: - virtual TBase * operator()( SGPropertyNode_ptr configNode ) = 0; + virtual ~FunctorBase() {} + virtual TBase * operator()( SGPropertyNode& prop_root, + SGPropertyNode& cfg ) = 0; }; template class CreateAndConfigureFunctor : - public FunctorBase, - SGReferenced { + public FunctorBase { public: - virtual TBase * operator()( SGPropertyNode_ptr configNode ) { + virtual TBase * operator()( SGPropertyNode& prop_root, + SGPropertyNode& cfg ) + { TBase * base = new TClass(); - base->configure( configNode ); + base->configure(prop_root, cfg); return base; } };