0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
1 % A function to properly clear MATLAB memory for LTPDA.
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
2 %
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
3 % M Hewitson 06-08-08
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
4 %
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
5 % $Id: mc.m,v 1.11 2011/02/03 13:42:43 ingo Exp $
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
6 %
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
7
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
8 % Remove this object from memory so we can clear classes
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
9 % prefs = getappdata(0, 'LTPDApreferences');
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
10 % prefs.misc.default_window = '';
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
11
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
12 % TODO: We need to close all GUIs before doing this - Prefs GUI and Repo Gui
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
13
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
14 function mc()
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
15
|
26
|
16 % remove preferences
|
|
17 try
|
|
18 rmappdata(0, 'LTPDApreferences');
|
|
19 end
|
0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
20
|
26
|
21 % database connection manager
|
|
22 cm = getappdata(0, 'LTPDADatabaseConnenctionManager');
|
|
23 if ~isempty(cm)
|
|
24 % save cached credentials
|
|
25 setappdata(0, 'LTPDAcredentials', cm.credentials);
|
|
26 % remove database connection manager
|
|
27 rmappdata(0, 'LTPDADatabaseConnenctionManager');
|
0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
28 end
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
29
|
26
|
30 evalin('caller', 'clear'); % delete the timer-objects
|
|
31 clear classes % delete the local variables
|
|
32 evalin('caller', 'clear classes'); % delete the variables in the caller function
|
|
33 evalin('base', 'clear classes'); % delete the variables in the 'base' workspace
|
|
34
|
|
35 % load the preferences again
|
|
36 LTPDAprefs.loadPrefs();
|
0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
37
|
26
|
38 % instantiate database connection manager if required
|
|
39 credentials = getappdata(0, 'LTPDAcredentials');
|
|
40 if ~isempty(credentials)
|
|
41 cm = LTPDAConnectionManager();
|
|
42 cm.credentials = credentials;
|
0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
43 end
|
26
|
44 try
|
|
45 rmappdata(0, 'LTPDAcredentials');
|
|
46 end
|
0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
47
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
48 end
|