synfig-studio  1.0.3
autorecover.h
Go to the documentation of this file.
1 /* === S Y N F I G ========================================================= */
22 /* ========================================================================= */
23 
24 /* === S T A R T =========================================================== */
25 
26 #ifndef __SYNFIG_AUTORECOVER_H
27 #define __SYNFIG_AUTORECOVER_H
28 
29 /* === H E A D E R S ======================================================= */
30 
31 #include <synfig/string.h>
32 #include <synfig/canvas.h>
33 #include <sigc++/connection.h>
34 
35 /* === M A C R O S ========================================================= */
36 
37 /* === T Y P E D E F S ===================================================== */
38 
39 /* === C L A S S E S & S T R U C T S ======================================= */
40 
41 namespace studio {
42 
44 {
45  int timeout;
46  sigc::connection auto_backup_connect;
47 public:
48  AutoRecover();
49  ~AutoRecover();
50 
51  static int pid();
52  static synfig::String get_shadow_file_name(const synfig::String& filename);
53 
54  static bool auto_backup();
55 
56  static bool cleanup_pid(int pid);
57 
58  void set_timeout(int milliseconds);
59  int get_timeout()const { return timeout; }
60 
61  static synfig::String get_shadow_directory();
62 
63  bool recovery_needed()const;
64  bool recover(int& number_recovered);
65 
66  void normal_shutdown();
67 
69 }; // END of class AutoRecover
70 
71 }; // END of namespace studio
72 
73 /* === E N D =============================================================== */
74 
75 #endif