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 |