12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- import { type DynamicNodeData} from '@/ua/DynamicNode';
- export class ServerConfig {
- public configData;
- constructor(configData: ServerConfigData) {
- this.configData=configData;
- }
- public static load(obj: any) :ServerConfig{
- const d:ServerConfigData={};
- d.manufacturerName=obj.manufacturerName||"";
- d.productName=obj.productName||"";
- d.softwareVersion=obj.softwareVersion||"";
- d.applicationUri=obj.applicationUri||"";
- d.productUri=obj.productUri||"";
- d.applicationName=obj.applicationName||"";
- d.port=obj.port||4840;
- d.allowAnonymous=obj.allowAnonymous||false;
- d.maxConnections=obj.maxConnections||1000;
- d.dynamics=obj.dynamics||[];
- d.nodesets=obj.nodesets||[];
- return new ServerConfig(d);
- }
- addDynamic(dyn:DynamicNodeData){
- this.configData.dynamics?.forEach((dyn)=>{
- if(dyn.ident == dyn.ident){
- return false;
- }
- })
- this.configData.dynamics?.push(dyn);
- return true;
- }
- removeDynamic(ident:string){
- this.configData.dynamics?.forEach((dyn, idx)=>{
- if(dyn.ident == ident){
- this.configData.dynamics?.splice(idx,1);
- return true;
- }
- })
- return false;
- }
- }
- export interface ServerConfigData {
- manufacturerName?: string;
- productName?: string;
- softwareVersion?: string;
- applicationUri?: string;
- productUri?: string;
- applicationName?: string;
- port?: number;
- allowAnonymous?: boolean;
- maxConnections?: number;
- dynamics?:DynamicNodeData[];
- nodesets?:string[];
- }
|