X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FBuffer.h;h=218f472744e20343b7142b41d71941d4b8277f19;hb=4080450341a4ed1cec0e4f72d9c917d2c7378157;hp=2ce9ae6508337687ba2c2b9a3be86312b2d6235d;hpb=b025e9a2495415ec9a8120abc182d89be6c8b96c;p=lyx.git diff --git a/src/Buffer.h b/src/Buffer.h index 2ce9ae6508..218f472744 100644 --- a/src/Buffer.h +++ b/src/Buffer.h @@ -83,6 +83,22 @@ public: wrongversion ///< The version of the file does not match ours }; + /// Method to check if a file is externally modified, used by + /// isExternallyModified() + /** + * timestamp is fast but inaccurate. For example, the granularity + * of timestamp on a FAT filesystem is 2 second. Also, various operations + * may touch the timestamp of a file even when its content is unchanged. + * + * checksum is accurate but slow, which can be a problem when it is + * frequently used, or used for a large file on a slow (network) file + * system. + */ + enum CheckMethod { + checksum_method, ///< Use file check sum + timestamp_method, ///< Use timestamp, and checksum if timestamp has changed + }; + /** Constructor \param file \param b optional \c false by default @@ -210,6 +226,9 @@ public: /// bool isDepClean(std::string const & name) const; + /// whether or not disk file has been externally modified + bool isExternallyModified(CheckMethod method) const; + /// mark the main lyx file as not needing saving void markClean() const;