UAObject.ts 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. import { XMLElem } from "@/util/XmlElem";
  2. import type { NodeId } from "./NodeId";
  3. import { UABaseNode } from "./UABaseNode";
  4. import { UAReference } from "./UAReference";
  5. export class UAObject extends UABaseNode {
  6. constructor(public nodeId: NodeId,
  7. public browseName: string,
  8. public displayName: string,
  9. public references: UAReference[]) {
  10. super(nodeId, browseName, displayName, references);
  11. }
  12. static fromXML(uaObject: any): UAObject{
  13. const bn=super.fromXML(uaObject)
  14. return new UAObject(bn.nodeId, bn.browseName, bn.displayName, bn.references);
  15. }
  16. toXML(): XMLElem {
  17. const elem =new XMLElem('UAVariable');
  18. elem.attr('NodeID', this.nodeId.toString())
  19. .attr('BrowseName', this.browseName)
  20. .attr('DisplayName', this.displayName);
  21. const refs=elem.add(new XMLElem('References'))
  22. for(const ref of this.references) {
  23. refs.add(ref.toXML());
  24. }
  25. return elem;
  26. }
  27. }