node-opcua-client
Version:
pure nodejs OPCUA SDK - module client
92 lines (91 loc) • 3.69 kB
TypeScript
/**
* @module node-opcua-client-private
*/
import { EventEmitter } from "events";
import { type DataValue } from "node-opcua-data-value";
import type { ExtensionObject } from "node-opcua-extension-object";
import { ReadValueId, type ReadValueIdOptions, type TimestampsToReturn } from "node-opcua-service-read";
import { type MonitoredItemCreateResult, MonitoringMode, MonitoringParameters, type MonitoringParametersOptions } from "node-opcua-service-subscription";
import { type Callback, type ErrorCallback, type StatusCode } from "node-opcua-status-code";
import type { Variant } from "node-opcua-variant";
import { ClientMonitoredItem } from "../client_monitored_item";
import { type ClientMonitoredItemBaseEx } from "../client_monitored_item_toolbox";
import type { ClientSubscription } from "../client_subscription";
import { type ClientSubscriptionImpl } from "./client_subscription_impl";
export type PrepareForMonitoringResult = {
error: string;
} | {
error?: null;
itemToMonitor: ReadValueIdOptions;
monitoringMode: MonitoringMode;
requestedParameters: MonitoringParameters;
};
/**
* ClientMonitoredItem
* @class ClientMonitoredItem
* @extends ClientMonitoredItemBase
*
* - event:
* - "initialized"
* - "err"
* - "changed"
*
* note: this.monitoringMode = subscription_service.MonitoringMode.Reporting;
*/
export declare class ClientMonitoredItemImpl extends EventEmitter implements ClientMonitoredItem, ClientMonitoredItemBaseEx {
#private;
itemToMonitor: ReadValueId;
monitoringParameters: MonitoringParameters;
subscription: ClientSubscriptionImpl;
monitoringMode: MonitoringMode;
statusCode: StatusCode;
monitoredItemId?: any;
result?: MonitoredItemCreateResult;
filterResult?: ExtensionObject;
timestampsToReturn: TimestampsToReturn;
internalSetMonitoringMode(monitoringMode: MonitoringMode): void;
constructor(subscription: ClientSubscription, itemToMonitor: ReadValueIdOptions, monitoringParameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn, monitoringMode?: MonitoringMode);
toString(): string;
/**
* terminate the monitored item by removing the MonitoredItem from its subscription
*/
terminate(): Promise<void>;
terminate(done: ErrorCallback): void;
modify(parameters: MonitoringParametersOptions): Promise<StatusCode>;
modify(parameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn): Promise<StatusCode>;
modify(parameters: MonitoringParametersOptions, callback: (err: Error | null, statusCode?: StatusCode) => void): void;
modify(parameters: MonitoringParametersOptions, timestampsToReturn: TimestampsToReturn | null, callback: (err: Error | null, statusCode?: StatusCode) => void): void;
setMonitoringMode(monitoringMode: MonitoringMode): Promise<StatusCode>;
setMonitoringMode(monitoringMode: MonitoringMode, callback: Callback<StatusCode>): void;
/**
* @internal
* @param value
* @private
*/
_notify_value_change(value: DataValue): void;
/**
* @internal
* @param eventFields
* @private
*/
_notify_event(eventFields: Variant[]): void;
/**
* @internal
* @private
*/
_prepare_for_monitoring(): PrepareForMonitoringResult;
/**
* @internal
* @param monitoredItemResult
* @private
*/
_applyResult(monitoredItemResult: MonitoredItemCreateResult): void;
_before_create(): void;
/**
* @internal
* @param monitoredItemResult
* @private
*/
_after_create(monitoredItemResult: MonitoredItemCreateResult): void;
_terminate_and_emit(err?: Error): void;
}