// -*- C++ -*-
+/**
+ * \file lyxvc.h
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
+ *
+ * \author Lars Gullik Bjønnes
+ *
+ * Full author contact details are available in file CREDITS.
+ */
#ifndef LYX_VC_H
#define LYX_VC_H
-#ifdef __GNUG__
-#pragma interface
-#endif
+#include <boost/scoped_ptr.hpp>
+
+#include <string>
+
+
+namespace lyx {
-#include "LString.h"
-#include "latexoptions.h"
+namespace support { class FileName; }
class VCS;
class Buffer;
The support in LyX is based loosely upon the version control in GNU Emacs,
but is not as extensive as that one. See examples/VC.lyx for a simple
tutorial and manual for the use of the version control system in LyX.
-
+
LyXVC use this algorithm when it searches for VC files:
for RCS it searches for <filename>,v and RCS/<filename>,v similar
should be done for CVS. By doing this there doesn't need to be any
the appropiate actions is taken. Returns true if the file is under
control by a VCS.
*/
- bool file_found_hook(string const & fn);
-
+ bool file_found_hook(support::FileName const & fn);
+
/** This function should be run when a file is requested for loading,
but it does not exist. This function will then check for a VC master
file with the same name (see above function). If this exists the
viewing/editing. Returns true if the file is under control by a VCS
and the user wants to view/edit it.
*/
- static bool file_not_found_hook(string const & fn);
+ static bool file_not_found_hook(support::FileName const & fn);
///
void buffer(Buffer *);
/// Undo last check-in.
void undoLast();
- ///
- void viewLog(string const &);
+ /**
+ * Generate a log file and return the filename.
+ * It is the caller's responsibility to unlink the
+ * file after use.
+ */
+ const std::string getLogFile() const;
///
- void showLog();
-
- ///
void toggleReadOnly();
-
+
/// Is the document under administration by RCS?
bool inUse();
/// Returns the version number.
- string const & version() const;
+ //std::string const & version() const;
+ /// Returns the version number.
+ std::string const versionString() const;
/// Returns the userid of the person who has locked the doc.
- string const & locker() const;
+ std::string const & locker() const;
- ///
- static void logClose(FL_OBJECT *, long);
- ///
- static void logUpdate(FL_OBJECT *, long);
-protected:
private:
///
Buffer * owner_;
-
- ///
- VCS * vcs;
///
- FD_LaTeXLog * browser; // FD_LaTeXLog is just a browser with a
- // close button. Unfortunately we can not use the standard callbacks.
+ boost::scoped_ptr<VCS> vcs;
};
+
+} // namespace lyx
+
#endif