+ /// \sa loadThisLyXFile
+ ReadStatus loadLyXFile();
+ /// Loads the LyX file \c fn into the buffer. If you want
+ /// to check for files in a version control container,
+ /// emergency or autosave files, one should use \c loadLyXFile.
+ /// /sa loadLyXFile
+ ReadStatus loadThisLyXFile(support::FileName const & fn);
+ /// import a new document from a string
+ bool importString(std::string const &, docstring const &, ErrorList &);
+ /// import a new file
+ bool importFile(std::string const &, support::FileName const &, ErrorList &);
+ /// read a new document from a string
+ bool readString(std::string const &);
+ /// Reloads the LyX file
+ /// \param clearUndo if false, leave alone the undo stack.
+ ReadStatus reload(bool clearUndo = true);
+//FIXME: The following function should be private
+//private:
+ /// read the header, returns number of unknown tokens
+ int readHeader(Lexer & lex);
+
+private:
+ ///
+ typedef std::map<Buffer const *, Buffer *> BufferMap;
+ ///
+ void cloneWithChildren(BufferMap &, CloneList *) const;
+ /// save timestamp and checksum of the given file.
+ void saveCheckSum() const;