]> git.lyx.org Git - lyx.git/blobdiff - src/lyxvc.h
support for wasy symbols
[lyx.git] / src / lyxvc.h
index dc5e3eb76d25ccfbbed845bd1c360821db78d18b..30110b2bbe324b677df9d202ded0912f31c05208 100644 (file)
@@ -1,31 +1,31 @@
 // -*- C++ -*-
 
-#ifndef _LYX_VC_H_
-#define _LYX_VC_H_
+#ifndef LYX_VC_H
+#define LYX_VC_H
 
 #ifdef __GNUG__
 #pragma interface
 #endif
 
 #include "LString.h"
-#include "latexoptions.h"
 
+class VCS;
 class Buffer;
 
-/** Version Control for LyX. This is the class giving the verison control
-features to LyX. It is
-  intended to support different kinds of version control, but at this point
-  we will only support RCS. Later CVS is a likely candidate for support.
-  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
-  special support for VC in the lyx format, and this is especially good
-  when the lyx format will be a subset of LaTeX.
-  */
+/** Version Control for LyX.
+    This is the class giving the verison control features to LyX. It is
+    intended to support different kinds of version control, but at this point
+    we will only support RCS. Later CVS is a likely candidate for support.
+    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
+    special support for VC in the lyx format, and this is especially good
+    when the lyx format will be a subset of LaTeX.
+*/
 class LyXVC {
 public:
        ///
@@ -39,8 +39,8 @@ public:
          the appropiate actions is taken. Returns true if the file is under
          control by a VCS.
          */
-       bool file_found_hook(LString const & fn);
-       
+       bool file_found_hook(string 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
@@ -48,12 +48,10 @@ public:
          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(LString const & fn);
+       static bool file_not_found_hook(string const & fn);
 
        ///
-       void scanMaster();
-       ///
-       void setBuffer(Buffer*);
+       void buffer(Buffer *);
 
        /// Register the document as an VC file.
        void registrer();
@@ -70,73 +68,33 @@ public:
        /// Undo last check-in.
        void undoLast();
 
-       ///
-       void viewLog(LString const &);
+       /**
+        * Generate a log file and return the filename.
+        * It is the caller's responsibility to unlink the
+        * file after use.
+        */
+       const string getLogFile() const;
 
        ///
-       void showLog();
-
-       /// 
        void toggleReadOnly();
-       
+
        /// Is the document under administration by RCS?
        bool inUse();
 
        /// Returns the version number.
-       LString const getVersion() const;
+       //string const & version() const;
+       /// Returns the version number.
+       string const versionString() const;
 
        /// Returns the userid of the person who has locked the doc.
-       LString const getLocker() const;
-protected:
-private:
-       ///
-       int doVCCommand(LString const&);
-       
-       /** The master VC file. For RCS this is *,v or RCS/ *,v. master should
-         have full path.
-         */
-       LString master;
-
-       /** The version of the VC file. I am not sure if this can be a
-       string of if it must be a
-         float/int. */
-       LString version;
-
-       /// The user currently keeping the lock on the VC file.
-       LString locker;
+       string const & locker() const;
 
+private:
        ///
-       enum VCStatus {
-               ///
-               UNLOCKED,
-               ///
-               LOCKED
-       };
-
-       /// The status of the VC controlled file.
-       VCStatus vcstat;
-
-       ///     
-       enum Backend {
-               ///
-               UNKNOWN_VCS,
-               ///
-               RCS_VCS
-       };
-
-       /// The VC backend used. (so far this can only be RCS)
-       Backend backend;
-
-       /// The buffer using this VC
-       Buffer *_owner;
+       Buffer * owner_;
 
        ///
-       FD_LaTeXLog *browser; // FD_LaTeXLog is just a browser with a
-       // close button. Unfortunately we can not use the standard callbacks.
-       ///
-       static void logClose(FL_OBJECT*, long);
-       ///
-       static void logUpdate(FL_OBJECT*, long);
+       VCS * vcs;
 };
 
 #endif