From: curt Date: Thu, 28 Jun 2001 21:53:01 +0000 (+0000) Subject: - added implementation of SGCommandState X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=a406a3c00b2717e9d2957c5b277f24aa8ab6956d;p=simgear.git - added implementation of SGCommandState - removed commented-out convenience execute methods --- diff --git a/simgear/misc/commands.cxx b/simgear/misc/commands.cxx index 7818b68d..2280b664 100644 --- a/simgear/misc/commands.cxx +++ b/simgear/misc/commands.cxx @@ -7,6 +7,36 @@ #include "commands.hxx" + +//////////////////////////////////////////////////////////////////////// +// Implementation of SGCommandState class. +//////////////////////////////////////////////////////////////////////// + +SGCommandState::SGCommandState () + : _args(0) +{ +} + +SGCommandState::SGCommandState (const SGPropertyNode * args) + : _args(0) +{ + setArgs(args); +} + +SGCommandState::~SGCommandState () +{ + delete _args; +} + +void +SGCommandState::setArgs (const SGPropertyNode * args) +{ + delete _args; + _args = new SGPropertyNode(); + copyProperties(args, _args); +} + + //////////////////////////////////////////////////////////////////////// // Implementation of SGCommandMgr class. @@ -50,83 +80,84 @@ SGCommandMgr::getCommandNames () const } bool -SGCommandMgr::execute (const string &name, const SGPropertyNode * arg) const +SGCommandMgr::execute (const string &name, const SGPropertyNode * arg, + SGCommandState ** state) const { command_t command = getCommand(name); if (command == 0) return false; else - return (*command)(arg); + return (*command)(arg, state); } -bool -SGCommandMgr::execute (const string &name) const -{ - // FIXME - SGPropertyNode node; - return execute(name, &node); -} - - -bool -SGCommandMgr::execute (const string &name, bool value) const -{ - // FIXME - SGPropertyNode node; - node.setBoolValue(value); - return execute(name, &node); -} - - -bool -SGCommandMgr::execute (const string &name, int value) const -{ - // FIXME - SGPropertyNode node; - node.setIntValue(value); - return execute(name, &node); -} - - -bool -SGCommandMgr::execute (const string &name, long value) const -{ - // FIXME - SGPropertyNode node; - node.setLongValue(value); - return execute(name, &node); -} - - -bool -SGCommandMgr::execute (const string &name, float value) const -{ - // FIXME - SGPropertyNode node; - node.setFloatValue(value); - return execute(name, &node); -} - - -bool -SGCommandMgr::execute (const string &name, double value) const -{ - // FIXME - SGPropertyNode node; - node.setDoubleValue(value); - return execute(name, &node); -} - - -bool -SGCommandMgr::execute (const string &name, string value) const -{ - // FIXME - SGPropertyNode node; - node.setStringValue(value); - return execute(name, &node); -} +// bool +// SGCommandMgr::execute (const string &name) const +// { +// // FIXME +// SGPropertyNode node; +// return execute(name, &node); +// } + + +// bool +// SGCommandMgr::execute (const string &name, bool value) const +// { +// // FIXME +// SGPropertyNode node; +// node.setBoolValue(value); +// return execute(name, &node); +// } + + +// bool +// SGCommandMgr::execute (const string &name, int value) const +// { +// // FIXME +// SGPropertyNode node; +// node.setIntValue(value); +// return execute(name, &node); +// } + + +// bool +// SGCommandMgr::execute (const string &name, long value) const +// { +// // FIXME +// SGPropertyNode node; +// node.setLongValue(value); +// return execute(name, &node); +// } + + +// bool +// SGCommandMgr::execute (const string &name, float value) const +// { +// // FIXME +// SGPropertyNode node; +// node.setFloatValue(value); +// return execute(name, &node); +// } + + +// bool +// SGCommandMgr::execute (const string &name, double value) const +// { +// // FIXME +// SGPropertyNode node; +// node.setDoubleValue(value); +// return execute(name, &node); +// } + + +// bool +// SGCommandMgr::execute (const string &name, string value) const +// { +// // FIXME +// SGPropertyNode node; +// node.setStringValue(value); +// return execute(name, &node); +// } // end of commands.cxx