00001
00002
00003 #ifndef PersistenceControl_h
00004 #define PersistenceControl_h
00005
00006 #include <vector>
00007 #include <string>
00008
00009 #include "EngineConfig.h"
00010 #include "CLISaveManager.h"
00011 #include "Backend.h"
00012
00013 class CLIUserState;
00014 class StateHistory_CLI;
00015 class StateMetaInfo_CLI;
00016
00022 class PersistenceControl
00023 {
00024
00025 public:
00026
00030 static void psave(string comment, ostream & console);
00031
00035 static void pnewsession(string name, ostream & console);
00036
00041 static void pnewsession(string name, string archive_type, ostream & console);
00042
00047 static void psave(ostream & console);
00048
00053 static void prestore (string statename, ostream & console);
00054
00059 static void prestore (string statename, uint32 version, ostream & console);
00060
00065 static void phistory(string statename, int32 version, ostream & console);
00066
00071 static void pmetainfo (string statename, uint32 version, ostream & console);
00072
00077 static void pmetainfo (string statename, ostream & console);
00078
00083 static void plist(ostream & console);
00084
00089 static void pversions(string statename, ostream & console);
00090
00092 static void ckon(ostream & console);
00093
00095 static void ckoff(ostream & console);
00096
00098 static void cktoggle(ostream & console);
00099
00101 static void ckinterval(int interval, ostream & console);
00102
00104 static void cktimer(int timer, ostream & console);
00105
00107 static void ckmanual(ostream & console);
00108
00110 static void ckcleanup();
00111
00112 private:
00113
00114 static uint32 getLatest(string sessionname);
00115
00117 static CLIUserState * userstate;
00118
00120 static CLISaveManager * savemanager;
00121 };
00122
00123 #endif