]> git.mxchange.org Git - simgear.git/blobdiff - simgear/structure/commands.hxx
Boolean uniforms are now updatable by properties
[simgear.git] / simgear / structure / commands.hxx
index 147c4f3de0f9bb383fc14ee3334e6e2981238123..09f1c1bcf132799814e12a2d27be2aa47c9fbe72 100644 (file)
 #include <map>
 #include <vector>
 
+#include <simgear/threads/SGThread.hxx>
+#include <simgear/math/sg_types.hxx>
 #include <simgear/props/props.hxx>
 
-SG_USING_STD(string);
-SG_USING_STD(map);
-SG_USING_STD(vector);
-
-
 /**
  * Manage commands.
  *
@@ -63,7 +60,7 @@ public:
    * a bool result.  The argument is always a const pointer to
    * an SGPropertyNode (which may contain multiple values).
    */
-  virtual void addCommand (const string &name, command_t command);
+  virtual void addCommand (const std::string &name, command_t command);
 
 
   /**
@@ -73,7 +70,7 @@ public:
    * @return A pointer to the command, or 0 if there is no registered
    * command with the name specified.
    */
-  virtual command_t getCommand (const string &name) const;
+  virtual command_t getCommand (const std::string &name) const;
 
 
   /**
@@ -82,7 +79,7 @@ public:
    * @return A (possibly empty) vector of the names of all registered
    * commands.
    */
-  virtual vector<string> getCommandNames () const;
+  virtual string_list getCommandNames () const;
 
 
   /**
@@ -95,7 +92,7 @@ public:
    * @return true if the command is present and executes successfully,
    * false otherwise.
    */
-  virtual bool execute (const string &name, const SGPropertyNode * arg) const;
+  virtual bool execute (const std::string &name, const SGPropertyNode * arg) const;
 
 protected:
   /**
@@ -106,9 +103,11 @@ protected:
 
 private:
 
-  typedef map<string,command_t> command_map;
+  typedef std::map<std::string,command_t> command_map;
   command_map _commands;
 
+  static SGMutex _instanceMutex;
+
 };
 
 #endif // __COMMANDS_HXX