* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
*
* Full author contact details are available in file CREDITS.
*/
void setBuffer(Buffer *);
/// Register the document as an VC file.
- void registrer();
+ bool registrer();
+
+
+ // std::string used as a return value in functions below are
+ // workaround to defer messages to be displayed in UI. If message()
+ // is used directly, message string is immediately overwritten
+ // by the next multiple messages on the top of the processed dispatch
+ // machinery.
/// Unlock and commit changes. Returns log.
std::string checkIn();
/// Does the current VC supports this operation?
- bool checkInEnabled();
+ bool checkInEnabled() const;
/// Lock/update and prepare to edit document. Returns log.
std::string checkOut();
/// Does the current VC supports this operation?
- bool checkOutEnabled();
+ bool checkOutEnabled() const;
+
+ /// Synchronize the whole archive with repository
+ std::string repoUpdate();
+ /// Does the current VC supports this operation?
+ bool repoUpdateEnabled() const;
+
+ /**
+ * Toggle locking property of the edited file,
+ * i.e. whether the file uses locking mechanism.
+ */
+ std::string lockingToggle();
+ /// Does the current VC support this operation?
+ bool lockingToggleEnabled() const;
/// Revert to last version
void revert();
/// Undo last check-in.
void undoLast();
/// Does the current VC supports this operation?
- bool undoLastEnabled();
+ bool undoLastEnabled() const;
/**
* Generate a log file and return the filename.
*/
const std::string getLogFile() const;
- ///
+ /**
+ * We do not support this generally. In RCS/SVN file read-only flag
+ * is often connected with locking state and one has to be careful to
+ * keep things in synchro once we would allow user to toggle
+ * read-only flags.
+ */
void toggleReadOnly();
/// Is the document under administration by VCS?
- bool inUse();
+ bool inUse() const;
+ /// FIXME resurrect version once we add version info
+ /// into SVN. RCS parser is already prepared.
/// Returns the version number.
//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.
+ /**
+ * Returns the userid of the person who has locked the doc.
+ * FIXME This property is descendant from the original VCS
+ * and used in RCS for user id or "unlocked" strings.
+ * It would be problem to use this under SVN since getting
+ * the locker would need connection to server any time we
+ * load document. SVN currently (mis)uses this as a signal
+ * for locking state, as we do not have API for vcstatus().
+ * The RCS code for user id parsing is working but we don't display
+ * it anywhere. One possibility is to provide proper vcstatus()
+ * interface and kill the whole locker thing.
+ */
std::string const & locker() const;
private: