diff options
Diffstat (limited to 'core/module-save.h')
| -rw-r--r-- | core/module-save.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/core/module-save.h b/core/module-save.h index 819f948..32e68c7 100644 --- a/core/module-save.h +++ b/core/module-save.h @@ -24,16 +24,27 @@ PureResult pure_save_image(PureApp *, const PureModule *m, uint32_t state, const void pure_save_close_start(PureApp *); /* The log keeps only the entries some list's image does not hold yet. */ void pure_save_release(PureApp *); -/* A snapshot's list (module.c). */ +/* A snapshot's list (module.c): a state's, or the heard list's + * (PURE_LIST_HEARD) in a snapshot made with it (pure_save_snapshot). */ const PureList *pure_snapshot_list(const PureSnapshot *, uint32_t state); +PureSnapshot *pure_save_snapshot(PureApp *, bool heard); +/* The heard list of a starting app (module.h, PureApp): from its image with + * its logged changes made again, or new (saved.rewrite: it needs an image, + * which pure_save_heard_image writes). */ +PureResult pure_save_open_heard(PureApp *, PureList **out, PureSaved *saved); +PureResult pure_save_heard_image(PureApp *); +/* An empty heard list. */ +PureList *pure_heard_new(void); /* Open the stored numbers, cursors and indices, and put each stored one of the * same name and kind that still fits into values, for the states of m that * kept marks as new (-1); texts and lists are m's. */ PureResult pure_save_open_values(PureApp *, const PureModule *m, double *values, const int *kept, PureDraft *const *texts, PureList *const *lists); /* The stored links of a starting app (module.h, PureApp); CONFLICT when an - * output with sends left is missing or has other fields. */ -PureResult pure_save_open_links(PureApp *, const PureModule *m); + * output with sends left is missing or has other fields. Links stored before + * the heard list kept the numbers heard: they go to it (moved: it needs an + * image). */ +PureResult pure_save_open_links(PureApp *, const PureModule *m, bool *moved); /* Publish the documents and every state changed since the last save * (values are the states' numbers); revisions are the documents'. */ PureResult pure_save_commit(PureApp *, const double *values, void *const *documents, size_t document_count, |
