]> git.mxchange.org Git - simgear.git/commitdiff
- added implementation of SGCommandState
authorcurt <curt>
Thu, 28 Jun 2001 21:53:01 +0000 (21:53 +0000)
committercurt <curt>
Thu, 28 Jun 2001 21:53:01 +0000 (21:53 +0000)
- removed commented-out convenience execute methods

simgear/misc/commands.cxx

index 7818b68d10d4a69bc776f159d2b0857557a03e24..2280b6642eb54a5c026c34ecf2430455a5555646 100644 (file)
@@ -7,6 +7,36 @@
 #include "commands.hxx"
 
 
+\f
+////////////////////////////////////////////////////////////////////////
+// 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);
+}
+
+
 \f
 ////////////////////////////////////////////////////////////////////////
 // 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