]> git.lyx.org Git - lyx.git/blobdiff - src/support/TempFile.h
Fix bug #4269
[lyx.git] / src / support / TempFile.h
index 6410dda7fcee4e1e99195a51474575a444fab58f..16efede3ab57880e54bbefd7ac71a2037510db36 100644 (file)
@@ -24,14 +24,25 @@ class FileName;
  * The file is created in the constructor, and deleted in the destructor.
  * You may do anything with the file (including deletion), but the instance
  * of this class must stay alive as long as the file is needed.
+ * There is only one exception to this rule:
+ * If the file is supposed to be used by a different process then you need
+ * to be aware of OS specific file locking semantics: On windows, the file
+ * is opened with exclusive rights for the process which opened it. This
+ * is not the case on other OSes. Therefore, if the file is supposed to be
+ * used by a different process you need to sometheing similar to TempName
+ * in InsetExternal.cpp.
  */
 class TempFile {
+       /// noncopyable
+       TempFile(TempFile const &);
+       /// nonassignable
+       TempFile & operator=(TempFile const &);
 public:
        /**
         *Create a temporary file with the given mask.
-        * \p mask must be in filesystem encoding, if it contains a
-        * relative path, the template file will be created in the global
-        * temporary directory as given by 'package().temp_dir()'.
+        * \p mask must be in filesystem encoding, the template file
+        * will be created in the global temporary directory as given
+        * by 'package().temp_dir()'.
         * If the mask contains "XXXXXX" this portion will be replaced by
         * a uniquely generated string. If it does not contain this portion,
         * it will be automatically appended using a dot. Therefore, please