1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import { XMLElem } from "@/util/XmlElem";
- import type { NamespaceTable } from "./NameSpaceTable";
- import { type UABaseNodeOptions } from "./UABaseNode";
- import type { IAddressSpace } from "./IAddressSpace";
- import { UAType } from "./UAType";
- export class UAVariableType extends UAType{
- public dataType?: string;
- public valueRank?: number;
- public arrayDimensions?: string;
-
- constructor(options: UAVariableTypeOptions) {
- super(options)
- Object.assign(this, options);
- this.nodeClass="UAVariableType";
- }
- static fromXML(xmlObjType: any, addressSpace: IAddressSpace): UAVariableType{
- const bn=super.fromXML(xmlObjType, addressSpace) as UAVariableTypeOptions
- bn.dataType= xmlObjType['@_DataType']||"i=24";
- bn.valueRank= Number(xmlObjType['@_ValueRanke']||-1);
- bn.arrayDimensions= xmlObjType['@_ArrayDimensions'];
- return new UAVariableType(bn as UAVariableTypeOptions);
- }
- toXML(lnst:NamespaceTable, gnst:NamespaceTable): XMLElem {
- const elem =super.toXML(lnst, gnst);
- elem.name=this.nodeClass;
- elem.attr('DataType', this.dataType);
- elem.attr('ValueRank', this.valueRank?.toString());
- elem.attr('ArrayDimensions', this.arrayDimensions);
- return elem;
- }
- }
- export interface UAVariableTypeOptions extends UABaseNodeOptions{
- dataType?: string;
- valueRank?: number;
- arrayDimensions?: string;
- }
|