* \retval the newly created \c Buffer pointer if successful or 0.
* \retval 0 if the \c Buffer could not be created.
*/
-Buffer * checkAndLoadLyXFile(support::FileName const & filename);
+Buffer * checkAndLoadLyXFile(support::FileName const & filename,
+ bool acceptDirty = false);
/** Make a new file (buffer) with name \c filename based on a template
* named \c templatename
Buffer * newFile(std::string const & filename, std::string const & templatename,
bool isNamed = false);
-/** Make a new unnamed file (buffer) based on a template
- * named \c templatename
+/** Make a new unnamed file (buffer) with prefix \c prefix
+ * based on a template named \c templatename
*/
-Buffer * newUnnamedFile(std::string const & templatename,
- support::FileName const & path);
+Buffer * newUnnamedFile(support::FileName const & path,
+ std::string const & prefix, std::string const & templatename = "");
+
+/// Load the file with name \c fname, and returns the buffer. If the
+/// file was already loaded it just returns the associated buffer.
+Buffer * loadIfNeeded(support::FileName const & fname);
/// Count the number of words in the text between these two iterators
int countWords(DocIterator const & from, DocIterator const & to);