NodeOPCUA API Documentation
    Preparing search index...

    Interface UAPublishSubscribe

    UAObject

    interface UAPublishSubscribe {
        addConnection?: UAMethod<UAMethodEvents>;
        browseName: QualifiedName;
        configurationProperties?: UAProperty<DTKeyValuePair[], ExtensionObject>;
        configurationVersion?: UAProperty<number, UInt32>;
        dataSetClasses?: UAFolder;
        declaredAccessRestrictions?: string;
        defaultDatagramPublisherId?: UAProperty<UInt64, UInt64>;
        defaultSecurityKeyServices?: UAProperty<
            DTEndpointDescription[],
            ExtensionObject,
        >;
        designToolOnly?: boolean;
        diagnostics?: UAPubSubDiagnosticsRoot;
        eventNotifier: EventNotifierFlags;
        getSecurityGroup?: UAMethod<UAMethodEvents>;
        getSecurityKeys?: UAMethod<UAMethodEvents>;
        hasMethods: boolean;
        keyPushTargets?: UAPubSubKeyPushTargetFolder;
        nodeClass: Object;
        nodeId: NodeId;
        nodesetCategory?: string[];
        nodesetDocumentation?: string;
        onFirstBrowseAction?: (this: BaseNode) => Promise<void>;
        publishedDataSets: UADataSetFolder;
        pubSubCapablities?: UAPubSubCapabilities;
        pubSubConfiguration?: UAPubSubConfiguration;
        releaseStatus?: "Draft" | "Deprecated";
        removeConnection?: UAMethod<UAMethodEvents>;
        securityGroups?: UASecurityGroupFolder;
        setSecurityKeys?: UAMethod<UAMethodEvents>;
        status: UAPubSubStatus;
        subscribedDataSets?: UASubscribedDataSetFolder;
        supportedTransportProfiles: UAProperty<UAString[], String>;
        get accessRestrictions(): AccessRestrictionsFlag | undefined;
        get addressSpace(): IAddressSpace;
        get description(): LocalizedText;
        get displayName(): LocalizedText[];
        get modellingRule(): ModellingRuleType | undefined;
        get namespace(): INamespace;
        get namespaceIndex(): number;
        get namespaceUri(): string;
        get parent(): BaseNode<BaseNodeEvents> | null;
        get parentNodeId(): NodeId | undefined;
        get rolePermissions(): RolePermissionType[] | undefined;
        get typeDefinition(): NodeId;
        get typeDefinitionObj(): UAObjectType;
        addReference(options: AddReferenceOpts): void;
        allReferences(): UAReference[];
        browseNode(
            browseDescription: BrowseDescriptionOptions2,
            session?: ISessionContext,
        ): ReferenceDescription[];
        browseNodeByTargetName(
            relativePathElement: RelativePathElement,
            isLast: boolean,
        ): NodeId[];
        clone(
            options: CloneOptions,
            optionalFilter?: CloneFilter,
            extraInfo?: CloneExtraInfo,
        ): UAObject;
        emit<K extends keyof UAObjectEvents>(
            event: K,
            ...args: Parameters<UAObjectEvents[K]>,
        ): boolean;
        findReference(
            referenceType: string | NodeId | UAReferenceType,
            isForward?: boolean,
        ): UAReference | null;
        findReferences(
            referenceType: string | NodeId | UAReferenceType,
            isForward?: boolean,
        ): UAReference[];
        findReferencesAsObject(
            referenceType: string | NodeId | UAReferenceType,
            isForward?: boolean,
        ): BaseNode<BaseNodeEvents>[];
        findReferencesEx(
            referenceType: string | NodeId | UAReferenceType,
            browseDirection?: BrowseDirection,
        ): UAReference[];
        findReferencesExAsObject(
            referenceType: string | NodeId | UAReferenceType,
            browseDirection?: BrowseDirection,
        ): BaseNode<BaseNodeEvents>[];
        fullName(): string;
        getAccessRestrictions(inherited: boolean): AccessRestrictionsFlag;
        getAggregates(): BaseNode<BaseNodeEvents>[];
        getChildByName(
            browseName: QualifiedNameOptions,
        ): BaseNode<BaseNodeEvents> | null;
        getChildByName(
            browseName: string,
            namespaceIndex?: number,
        ): BaseNode<BaseNodeEvents> | null;
        getComponentByName(
            componentName: QualifiedNameOptions,
        ): UAObject<UAObjectEvents> | UAVariable<UAVariableEvents> | null;
        getComponentByName(
            componentName: string,
            namespaceIndex?: number,
        ): UAObject<UAObjectEvents> | UAVariable<UAVariableEvents> | null;
        getComponents(): BaseNode<BaseNodeEvents>[];
        getDisplayName(locale?: string): string;
        getEventSourceOfs(): BaseNode<BaseNodeEvents>[];
        getEventSources(): BaseNode<BaseNodeEvents>[];
        getFolderElementByName(
            browseName: QualifiedNameOptions,
        ): BaseNode<BaseNodeEvents> | null;
        getFolderElementByName(
            browseName: string,
            namespaceIndex?: number,
        ): BaseNode<BaseNodeEvents> | null;
        getMethodById(nodeId: NodeId): UAMethod<UAMethodEvents> | null;
        getMethodByName(
            methodName: QualifiedNameOptions,
        ): UAMethod<UAMethodEvents> | null;
        getMethodByName(
            methodName: string,
            namespaceIndex?: number,
        ): UAMethod<UAMethodEvents> | null;
        getMethods(): UAMethod<UAMethodEvents>[];
        getNodeVersion(): UAProperty<UAString, String> | null;
        getNotifiers(): BaseNode<BaseNodeEvents>[];
        getProperties(): BaseNode<BaseNodeEvents>[];
        getPropertyByName(
            propertyName: QualifiedNameOptions,
        ): UAVariable<UAVariableEvents> | null;
        getPropertyByName(
            propertyName: string,
            namespaceIndex?: number,
        ): UAVariable<UAVariableEvents> | null;
        getRolePermissions(inherited: boolean): RolePermissionType[] | null;
        install_extra_properties(): void;
        isDisposed(): boolean;
        listenerCount<K extends keyof UAObjectEvents>(event: K): number;
        off<K extends keyof UAObjectEvents>(
            event: K,
            listener: UAObjectEvents[K],
        ): this;
        on<K extends keyof UAObjectEvents>(
            event: K,
            listener: UAObjectEvents[K],
        ): this;
        once<K extends keyof UAObjectEvents>(
            event: K,
            listener: UAObjectEvents[K],
        ): this;
        raiseEvent(
            eventType: BaseNode<BaseNodeEvents> | EventTypeLike,
            eventData: RaiseEventData,
        ): void;
        readAttribute(
            context: ISessionContext | null,
            attributeId: AttributeIds,
            indexRange?: NumericRange,
            dataEncoding?: QualifiedNameLike | null,
        ): DataValue;
        removeAllListeners(): void;
        removeListener<K extends keyof UAObjectEvents>(
            event: K,
            listener: UAObjectEvents[K],
        ): void;
        removeReference(referenceOpts: AddReferenceOpts): void;
        setAccessRestrictions(accessRestrictions: AccessRestrictionsFlag): void;
        setDescription(value: LocalizedTextLike | null): void;
        setDisplayName(value: LocalizedTextLike | LocalizedTextLike[]): void;
        setEventNotifier(eventNotifierFlags: EventNotifierFlags): void;
        setMaxListeners(n: number): void;
        setRolePermissions(rolePermissions: RolePermissionTypeOptions[]): void;
        writeAttribute(
            context: ISessionContext | null,
            writeValue: WriteValueOptions,
            callback: (err: Error | null, statusCode?: StatusCode) => void,
        ): void;
    }

    Hierarchy (View Summary)

    Index
    addConnection?: UAMethod<UAMethodEvents>
    browseName: QualifiedName
    configurationProperties?: UAProperty<DTKeyValuePair[], ExtensionObject>
    configurationVersion?: UAProperty<number, UInt32>
    dataSetClasses?: UAFolder
    declaredAccessRestrictions?: string

    the AccessRestrictions the nodeset declared, verbatim, whether or not this loader was asked to apply them. accessRestrictions above is what is enforced and is gated by the loader's option; this is what the document said, and is documentation only. Without it a document loaded with the default policy cannot be written back out as the document it was.

    defaultDatagramPublisherId?: UAProperty<UInt64, UInt64>
    defaultSecurityKeyServices?: UAProperty<
        DTEndpointDescription[],
        ExtensionObject,
    >
    designToolOnly?: boolean

    the nodeset's DesignToolOnly="true": the node is there for design tools only (a name to reuse, such as OPC 10000-100 DI's Configuration, Tuning, ... FunctionalGroups), so nothing is expected to reference it. Documentation only, kept so the node is written back out as declared.

    eventNotifier: EventNotifierFlags
    getSecurityGroup?: UAMethod<UAMethodEvents>
    getSecurityKeys?: UAMethod<UAMethodEvents>
    hasMethods: boolean
    nodeClass: Object
    nodeId: NodeId
    nodesetCategory?: string[]

    the <Category> elements of the nodeset, in order: the conformance units or facets the working group filed this node under. Kept, and named, for the same reasons as nodesetDocumentation: I4AAS has types with a Category property.

    nodesetDocumentation?: string

    the <Documentation> element of the nodeset: a link into the specification text that defines this node (https://reference.opcfoundation.org/...), at most one. It is not the Description attribute and no service exposes it; it is kept so that a tool can show where a node comes from, and so that the node can be written back out as the document that created it.

    Named after the element, not documentation: the children of a node are reachable as properties under their browse name, and DI's ISupportInfoType has a Documentation folder.

    onFirstBrowseAction?: (this: BaseNode) => Promise<void>
    publishedDataSets: UADataSetFolder
    pubSubCapablities?: UAPubSubCapabilities
    pubSubConfiguration?: UAPubSubConfiguration
    releaseStatus?: "Draft" | "Deprecated"

    the maturity a nodeset declares for this node: "Draft" or "Deprecated", or undefined for the default, "Released". It is documentation rather than behaviour -- nothing in the address space acts on it -- but a NodeSet2 document states it, and a node that has forgotten it cannot be written back out as the document that created it.

    removeConnection?: UAMethod<UAMethodEvents>
    securityGroups?: UASecurityGroupFolder
    setSecurityKeys?: UAMethod<UAMethodEvents>
    subscribedDataSets?: UASubscribedDataSetFolder
    supportedTransportProfiles: UAProperty<UAString[], String>
    • get accessRestrictions(): AccessRestrictionsFlag | undefined

      Returns AccessRestrictionsFlag | undefined

    • get addressSpace(): IAddressSpace

      Returns IAddressSpace

    • get description(): LocalizedText

      Returns LocalizedText

    • get displayName(): LocalizedText[]

      Returns LocalizedText[]

    • get modellingRule(): ModellingRuleType | undefined

      Returns ModellingRuleType | undefined

    • get namespace(): INamespace

      Returns INamespace

    • get namespaceIndex(): number

      Returns number

    • get namespaceUri(): string

      Returns string

    • get parent(): BaseNode<BaseNodeEvents> | null

      Returns BaseNode<BaseNodeEvents> | null

    • get parentNodeId(): NodeId | undefined

      Returns NodeId | undefined

    • get rolePermissions(): RolePermissionType[] | undefined

      Returns RolePermissionType[] | undefined

    • get typeDefinition(): NodeId

      Returns NodeId

    • get typeDefinitionObj(): UAObjectType

      Returns UAObjectType

    • find the the references that are strictly of type reference.

      The isForward boolean flag specifies the direction of the references to be looked for.

      Forward direction is implied if omitted.

      • will throw an exception if more than one reference exists with the referenceType.
      • will return null if no reference exists.

      Parameters

      Returns UAReference | null

    • find all the references that are strictly of type reference. The isForward boolean flag specifies the direction of the references to be looked for.

      Forward direction is implied if omitted.

      Parameters

      Returns UAReference[]

    • find all the nodes that are referenced by references strictly of type reference.

      The isForward boolean flag specifies the direction of the references to be looked for.

      Forward direction is implied if omitted.

      • will throw an exception if more than one reference exists with the referenceType.
      • will return null if no reference exists.

      Parameters

      Returns BaseNode<BaseNodeEvents>[]

    • return a complete name of this object by pre-pending name of its parent(s) to its own name

      Returns string

    • get effective accessRestrictions if (inherited is true) and node has no accessRestrictions, then default accessRestriction from namespace is returned if (inherited is false) and node has no accessRestrictions, then AccessRestrictionsFlag.None is returned

      Parameters

      • inherited: boolean

      Returns AccessRestrictionsFlag

    • Parameters

      • Optionallocale: string

        the locale of the text to return (e.g. en-EN)

      Returns string

    • private

      Returns void

    • Returns boolean

    • Returns void

    • Parameters

      • n: number

      Returns void