Skip to content

Commit 326e7aa

Browse files
committed
util add/remove methods
1 parent f1ffb0f commit 326e7aa

File tree

5 files changed

+38
-55
lines changed

5 files changed

+38
-55
lines changed

+nix/Block.m

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,8 @@
6060
end;
6161

6262
function delCheck = delete_source(obj, del)
63-
if(strcmp(class(del),'nix.Source'))
64-
delID = del.id;
65-
else
66-
delID = del;
67-
end;
68-
delCheck = nix_mx('Block::deleteSource', obj.nix_handle, delID);
69-
obj.sourcesCache.lastUpdate = 0;
63+
[delCheck, obj.sourcesCache] = nix.Utils.delete_entity(obj, ...
64+
del, 'nix.Source', 'Block::deleteSource', obj.sourcesCache);
7065
end;
7166

7267
function retObj = open_source(obj, id_or_name)

+nix/File.m

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,8 @@
5151
end;
5252

5353
function delCheck = deleteBlock(obj, del)
54-
if(strcmp(class(del),'nix.Block'))
55-
delID = del.id;
56-
else
57-
delID = del;
58-
end;
59-
delCheck = nix_mx('File::deleteBlock', obj.nix_handle, delID);
60-
obj.blocksCache.lastUpdate = 0;
54+
[delCheck, obj.blocksCache] = nix.Utils.delete_entity(obj, ...
55+
del, 'nix.Block', 'File::deleteBlock', obj.blocksCache);
6156
end;
6257

6358
% ----------------
@@ -83,12 +78,7 @@
8378
end;
8479

8580
function delCheck = deleteSection(obj, del)
86-
if(strcmp(class(del),'nix.Section'))
87-
delID = del.id;
88-
else
89-
delID = del;
90-
end;
91-
delCheck = nix_mx('File::deleteSection', obj.nix_handle, delID);
81+
delCheck = nix.Utils.delete_entity(obj, del, 'nix.Section', 'File::deleteSection');
9282
obj.sectionsCache.lastUpdate = 0;
9383
end;
9484

+nix/Source.m

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,8 @@
5858
end;
5959

6060
function delCheck = delete_source(obj, del)
61-
if(strcmp(class(del),'nix.Source'))
62-
delID = del.id;
63-
else
64-
delID = del;
65-
end;
66-
delCheck = nix_mx('Source::deleteSource', obj.nix_handle, delID);
67-
obj.sourcesCache.lastUpdate = 0;
61+
[delCheck, obj.sourcesCache] = nix.Utils.delete_entity(obj, ...
62+
del, 'nix.Source', 'Source::deleteSource', obj.sourcesCache);
6863
end;
6964

7065
function retObj = open_source(obj, id_or_name)

+nix/Tag.m

Lines changed: 8 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -86,23 +86,13 @@
8686
% ------------------
8787

8888
function [] = add_reference(obj, add_this)
89-
if(strcmp(class(add_this),'nix.DataArray'))
90-
addID = add_this.id;
91-
else
92-
addID = add_this;
93-
end;
94-
nix_mx('Tag::addReference', obj.nix_handle, addID);
95-
obj.referencesCache.lastUpdate = 0;
89+
obj.referencesCache = nix.Utils.add_entity(obj, ...
90+
add_this, 'nix.DataArray', 'Tag::addReference', obj.referencesCache);
9691
end;
9792

9893
function delCheck = remove_reference(obj, del)
99-
if(strcmp(class(del),'nix.DataArray'))
100-
delID = del.id;
101-
else
102-
delID = del;
103-
end;
104-
delCheck = nix_mx('Tag::removeReference', obj.nix_handle, delID);
105-
obj.referencesCache.lastUpdate = 0;
94+
[delCheck, obj.referencesCache] = nix.Utils.delete_entity(obj, ...
95+
del, 'nix.DataArray', 'Tag::removeReference', obj.referencesCache);
10696
end;
10797

10898
function retObj = open_reference(obj, id_or_name)
@@ -160,23 +150,13 @@
160150
% ------------------
161151

162152
function [] = add_source(obj, add_this)
163-
if(strcmp(class(add_this),'nix.Source'))
164-
addID = add_this.id;
165-
else
166-
addID = add_this;
167-
end;
168-
nix_mx('Tag::addSource', obj.nix_handle, addID);
169-
obj.sourcesCache.lastUpdate = 0;
153+
obj.sourcesCache = nix.Utils.add_entity(obj, ...
154+
add_this, 'nix.Source', 'Tag::addSource', obj.sourcesCache);
170155
end;
171156

172157
function delCheck = remove_source(obj, del)
173-
if(strcmp(class(del),'nix.Source'))
174-
delID = del.id;
175-
else
176-
delID = del;
177-
end;
178-
delCheck = nix_mx('Tag::removeSource', obj.nix_handle, delID);
179-
obj.sourcesCache.lastUpdate = 0;
158+
[delCheck, obj.sourcesCache] = nix.Utils.delete_entity(obj, ...
159+
del, 'nix.Source', 'Tag::removeSource', obj.sourcesCache);
180160
end;
181161

182162
function retObj = open_source(obj, id_or_name)

+nix/Utils.m

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,29 @@
3333
end;
3434
retCell = currCache.data;
3535
end;
36+
37+
function currCache = add_entity(obj, add_this, nixEntity, mxMethod, currCache)
38+
if(strcmp(class(add_this), nixEntity))
39+
addID = add_this.id;
40+
else
41+
addID = add_this;
42+
end;
43+
nix_mx(mxMethod, obj.nix_handle, addID);
44+
currCache.lastUpdate = 0;
45+
end;
46+
47+
% function can be used for both nix delete and remove methods
48+
% the first actually removes the entity, the latter
49+
% removes only the reference to the entity
50+
function [delCheck, currCache] = delete_entity(obj, del, nixEntity, mxMethod, currCache)
51+
if(strcmp(class(del), nixEntity))
52+
delID = del.id;
53+
else
54+
delID = del;
55+
end;
56+
delCheck = nix_mx(mxMethod, obj.nix_handle, delID);
57+
currCache.lastUpdate = 0;
58+
end;
3659
end;
3760
end
3861

0 commit comments

Comments
 (0)