UNPKG

@p2olab/pimad-core

Version:

PiMAd (Process-industry-Modular-Automation-description) High level access to automation of modular plants.

52 lines (51 loc) 1.68 kB
import { CommunicationInterfaceData } from './CommunicationInterfaceData'; import { Backbone } from '../Backbone'; import PiMAdResponse = Backbone.PiMAdResponse; import { InitializeModuleAutomationObject, ModuleAutomationObject } from './ModuleAutomationObject'; export interface DataItemModel extends ModuleAutomationObject { /** * Getter for this.cIData. */ getCommunicationInterfaceData(callback: (response: PiMAdResponse, communicationInterfaceData: CommunicationInterfaceData | undefined) => void): void; /** * */ getDataType(callback: (response: PiMAdResponse, dataType: string) => void): void; /** * */ getValue(callback: (response: PiMAdResponse, value: string | undefined) => void): void; /** * */ initialize(instructions: InitializeDataItem): boolean; } export declare type InitializeDataItem = InitializeModuleAutomationObject & { ciData?: CommunicationInterfaceData; dataType: string; }; /** * This one is a Interface for a DataItemFactory. It creates objects of the class DataItemModel. */ export interface DataItemFactory { /** * Create a uninitialized object of the class DataItemModel. */ create(): DataItemModel; } /** * This one is a abstract DataItemFactory, actually without deeper purpose. In future this one is a extra abstraction layer. */ declare abstract class ADataItemFactory implements DataItemFactory { abstract create(): DataItemModel; } /** * This factory creates objects of the class BaseDataItems. */ export declare class BaseDataItemFactory extends ADataItemFactory { /** * */ create(): DataItemModel; } export {};