]> git.lyx.org Git - lyx.git/blobdiff - src/CmdDef.h
Provide proper fallback if a bibliography processor is not found
[lyx.git] / src / CmdDef.h
index 9ef25fa5fe9168f445f708c94a47acba80c59df0..5fb6e366b6d3d9347ea2c923060339462eee2de0 100644 (file)
 
 #include "FuncRequest.h"
 
-#include "support/docstream.h"
-
-#include <boost/shared_ptr.hpp>
+#include "support/strfwd.h"
 
 #include <map>
-
+#include <set>
 
 namespace lyx {
 
 /// Creates command definitions
 class CmdDef {
 private:
-       /// information for a definition
-       struct CmdDefInfo {
-               CmdDefInfo(FuncRequest const & f): func(f), locked(false) {}
-               /// the expanded FuncRequest
-               FuncRequest func;
-               /// to avoid recursive calls
-               bool locked;
-       };
-
-
        /// type for map between a macro name and its info
-       typedef std::map<std::string, boost::shared_ptr<CmdDefInfo> > CmdDefMap;
-
+       typedef std::map<std::string, FuncRequest> CmdDefMap;
+       /// type for a set containing all locked definitions
+       typedef std::set<std::string> LockSet;
 public:
 
        /// Parse a def file
@@ -70,11 +59,13 @@ private:
         * Add a new command definition.
         * @param name internal recursion level
         */
-       newCmdDefResult newCmdDef(std::string const & name, 
-               std::string const & def);
+       newCmdDefResult newCmdDef(std::string const & name,
+                                     std::string const & def);
 
        ///
        CmdDefMap cmdDefMap;
+       ///
+       LockSet lockSet;
 };
 
 /// Implementation is in LyX.cpp