@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
TypeScript
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 {};