]> git.lyx.org Git - lyx.git/blobdiff - src/LyXVC.h
tex2lyx/Preamble.cpp: whitespace fix
[lyx.git] / src / LyXVC.h
index 860a880051a56c707f556c6def7242d4983e42fe..3036a396e3a8d4bb448cf7cfc044e986fdaee043 100644 (file)
@@ -39,6 +39,13 @@ class Buffer;
 */
 class LyXVC {
 public:
+       /// Return status of a command
+       enum CommandResult {
+               Cancelled,    ///< command was cancelled
+               ErrorBefore,  ///< error before executing command
+               ErrorCommand, ///< error while executing command
+               VCSuccess     ///< command was executed successfully
+       };
        ///
        LyXVC();
        ///
@@ -77,10 +84,22 @@ public:
        // by the next multiple messages on the top of the processed dispatch
        // machinery.
 
-       /// Unlock and commit changes. Returns log.
-       std::string checkIn();
+       ///
+       std::string rename(support::FileName const &);
+       /// Does the current VC support this operation?
+       bool renameEnabled() const;
+       ///
+       std::string copy(support::FileName const &);
+       /// Does the current VC support this operation?
+       bool copyEnabled() const;
+
+       /// Unlock and commit changes.
+       /// \p log is non-empty on success and may be empty on failure.
+       CommandResult checkIn(std::string & log);
        /// Does the current VC support this operation?
        bool checkInEnabled() const;
+       /// Should a log message be provided for next checkin?
+       bool isCheckInWithConfirmation() const;
 
        /// Lock/update and prepare to edit document. Returns log.
        std::string checkOut();
@@ -135,9 +154,10 @@ public:
         * keep things in synchro once we would allow user to toggle
         * read-only flags.
         */
-       void toggleReadOnly();
+       std::string toggleReadOnly();
 
        /// Is the document under administration by VCS?
+       /// returns false for unregistered documents in a path managed by VCS
        bool inUse() const;
 
        /// Returns the RCS + version number for messages