X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=snapshot-interface.h;h=0fab53b1ea9fb5ffa0514955bb743f9972acb77e;hb=b42e7645d3eaab0a2ab5e618cd322215f8164390;hp=0c2478ee67abb38b817106a876899803fa458771;hpb=700898cdd309acb86dcd275d8b1c34e02d67922e;p=model-checker.git diff --git a/snapshot-interface.h b/snapshot-interface.h index 0c2478e..0fab53b 100644 --- a/snapshot-interface.h +++ b/snapshot-interface.h @@ -2,11 +2,30 @@ #define __SNAPINTERFACE_H #include "snapshot.h" #include "mymemory.h" -#include -#include -#include -typedef std::basic_string< char, std::char_traits< char >, MyAlloc< char > > MyString; -namespace snapshot_utils{ - std::vector< std::pair< void *, size_t >, MyAlloc< std::pair< void *, size_t > > > ReturnGlobalSegmentsToSnapshot(); +#include "snapshot.h" + +void SnapshotGlobalSegments(); + +struct stackEntry { + struct stackEntry *next; + snapshot_id snapshotid; + int index; +}; + +class snapshotStack { + public: + MEMALLOC + snapshotStack( ); + ~snapshotStack(); + int backTrackBeforeStep(int seq_index); + void snapshotStep(int seq_index); + + private: + struct stackEntry * stack; }; + +/* Not sure what it even means to have more than one snapshot object, + so let's just make a global reference to it.*/ + +extern snapshotStack * snapshotObject; #endif