// -*- 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>
+
-#include "LString.h"
+namespace lyx {
+
+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 *);
* It is the caller's responsibility to unlink the
* file after use.
*/
- const string getLogFile() const;
+ const std::string getLogFile() const;
- ///
+ ///
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;
private:
///
Buffer * owner_;
-
+
///
- VCS * vcs;
+ boost::scoped_ptr<VCS> vcs;
};
+
+} // namespace lyx
+
#endif