@@ 219-236 (lines=18) @@ | ||
216 | attrs.DisplayName = ua.LocalizedText(obj.displayname) |
|
217 | if obj. inversename: |
|
218 | attrs.InverseName = ua.LocalizedText(obj.inversename) |
|
219 | if obj.abstract: |
|
220 | attrs.IsAbstract = obj.abstract |
|
221 | if obj.symmetric: |
|
222 | attrs.Symmetric = obj.symmetric |
|
223 | node.NodeAttributes = attrs |
|
224 | res = self.server.add_nodes([node]) |
|
225 | self._add_refs(obj) |
|
226 | return res[0].AddedNodeId |
|
227 | ||
228 | def add_datatype(self, obj): |
|
229 | node = self._get_node(obj) |
|
230 | attrs = ua.DataTypeAttributes() |
|
231 | if obj.desc: |
|
232 | attrs.Description = ua.LocalizedText(obj.desc) |
|
233 | attrs.DisplayName = ua.LocalizedText(obj.displayname) |
|
234 | if obj.abstract: |
|
235 | attrs.IsAbstract = obj.abstract |
|
236 | node.NodeAttributes = attrs |
|
237 | res = self.server.add_nodes([node]) |
|
238 | self._add_refs(obj) |
|
239 | return res[0].AddedNodeId |
|
@@ 238-253 (lines=16) @@ | ||
235 | attrs.IsAbstract = obj.abstract |
|
236 | node.NodeAttributes = attrs |
|
237 | res = self.server.add_nodes([node]) |
|
238 | self._add_refs(obj) |
|
239 | return res[0].AddedNodeId |
|
240 | ||
241 | def _add_refs(self, obj): |
|
242 | if not obj.refs: |
|
243 | return |
|
244 | refs = [] |
|
245 | for data in obj.refs: |
|
246 | ref = ua.AddReferencesItem() |
|
247 | ref.IsForward = True |
|
248 | ref.ReferenceTypeId = self.to_nodeid(data.reftype) |
|
249 | ref.SourceNodeId = ua.NodeId.from_string(obj.nodeid) |
|
250 | ref.TargetNodeClass = ua.NodeClass.DataType |
|
251 | ref.TargetNodeId = ua.NodeId.from_string(data.target) |
|
252 | refs.append(ref) |
|
253 | self.server.add_references(refs) |
|
254 |