Mercurial > repos > public > matlab_path_manager
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 |
| 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 |
