annotate +mpm/PersistentState.m @ 41:17ac3ce49b55 default tip

Add todo
author Jonatan Werpers <jonatan@werpers.com>
date Mon, 23 Jun 2025 15:25:27 +0200
parents 16d56bf04117
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22
29da718b8e7f Add class for managing state file
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 classdef PersistentState < handle
29da718b8e7f Add class for managing state file
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2 properties
38
16d56bf04117 Change place of storage of the state
Jonatan Werpers <jonatan@werpers.com>
parents: 22
diff changeset
3 prefGroup
22
29da718b8e7f Add class for managing state file
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4 subpaths
29da718b8e7f Add class for managing state file
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5 end
29da718b8e7f Add class for managing state file
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6
29da718b8e7f Add class for managing state file
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 methods
38
16d56bf04117 Change place of storage of the state
Jonatan Werpers <jonatan@werpers.com>
parents: 22
diff changeset
8 function obj = PersistentState(prefGroup)
16d56bf04117 Change place of storage of the state
Jonatan Werpers <jonatan@werpers.com>
parents: 22
diff changeset
9 obj.prefGroup = prefGroup;
22
29da718b8e7f Add class for managing state file
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10
29da718b8e7f Add class for managing state file
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11 try
29da718b8e7f Add class for managing state file
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12 % Read state from file
38
16d56bf04117 Change place of storage of the state
Jonatan Werpers <jonatan@werpers.com>
parents: 22
diff changeset
13 obj.subpaths = getpref(prefGroup, 'state');
22
29da718b8e7f Add class for managing state file
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14 catch
29da718b8e7f Add class for managing state file
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15 % If reading the file failed, create an empty state
29da718b8e7f Add class for managing state file
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 obj.subpaths = containers.Map();
29da718b8e7f Add class for managing state file
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 end
29da718b8e7f Add class for managing state file
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18 end
29da718b8e7f Add class for managing state file
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19
29da718b8e7f Add class for managing state file
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20 function s = saveState(obj)
38
16d56bf04117 Change place of storage of the state
Jonatan Werpers <jonatan@werpers.com>
parents: 22
diff changeset
21 setpref(obj.prefGroup, 'state', obj.subpaths);
22
29da718b8e7f Add class for managing state file
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 end
29da718b8e7f Add class for managing state file
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23 end
29da718b8e7f Add class for managing state file
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24 end