X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FSession.h;h=31ffee8841bab4cb2ab98945058140ddbba2c8e9;hb=4c093a50c2aaebad1459991b90b625a8c00a69e8;hp=98ac563223d35ad55d1ca611dd649b4e2b185f9a;hpb=5518b0424887a3d04937afdf90f2b951d028c9c1;p=lyx.git diff --git a/src/Session.h b/src/Session.h index 98ac563223..31ffee8841 100644 --- a/src/Session.h +++ b/src/Session.h @@ -16,10 +16,9 @@ #include "support/FileName.h" #include "support/types.h" +#include #include -#include #include -#include /** This session file maintains 1. the latest documents loaded (lastfiles) @@ -58,7 +57,7 @@ class LastFilesSection : SessionSection { public: /// - typedef std::deque LastFiles; + typedef std::vector LastFiles; public: /// @@ -70,10 +69,10 @@ public: /// void write(std::ostream & os) const; - /// Return lastfiles container (deque) + /// Return lastfiles container (vector) LastFiles const lastFiles() const { return lastfiles; } - /** Insert #file# into the lastfile dequeue. + /** Insert #file# into the lastfile vector. This funtion inserts #file# into the last files list. If the file already exists it is moved to the top of the list, else exist it is placed on the top of the list. If the list is full the last @@ -321,6 +320,60 @@ private: }; +class AuthFilesSection : SessionSection +{ +public: + /// + explicit AuthFilesSection(); + + /// + void read(std::istream & is); + + /// + void write(std::ostream & os) const; + + /// + bool find(std::string const & name) const; + + /// + void insert(std::string const & name); + +private: + /// set of document files authorized for external conversion + std::set auth_files_; +}; + + +class ShellEscapeSection : SessionSection +{ +public: + /// + explicit ShellEscapeSection() {}; + + /// + void read(std::istream & is); + + /// + void write(std::ostream & os) const; + + /// + bool find(std::string const & name) const; + + /// + bool findAuth(std::string const & name) const; + + /// + void insert(std::string const & name, bool auth = false); + + /// + void remove(std::string const & name); + +private: + /// set of document files authorized for external conversion + std::set shellescape_files_; +}; + + class Session { public: @@ -349,6 +402,14 @@ public: LastCommandsSection & lastCommands() { return last_commands; } /// LastCommandsSection const & lastCommands() const { return last_commands; } + /// + AuthFilesSection & authFiles() { return auth_files; } + /// + AuthFilesSection const & authFiles() const { return auth_files; } + /// + ShellEscapeSection & shellescapeFiles() { return shellescape_files; } + /// + ShellEscapeSection const & shellescapeFiles() const { return shellescape_files; } private: friend class LyX; @@ -376,12 +437,16 @@ private: BookmarksSection bookmarks_; /// LastCommandsSection last_commands; + /// + AuthFilesSection auth_files; + /// + ShellEscapeSection shellescape_files; }; /// This is a singleton class. Get the instance. /// Implemented in LyX.cpp. Session & theSession(); -} // lyx +} // namespace lyx #endif