First skeleton

This commit is contained in:
Daniel Kluge
2023-10-16 12:55:31 +02:00
parent 696da82e10
commit 2bf455b44a
11 changed files with 189 additions and 40 deletions
+29
View File
@@ -0,0 +1,29 @@
import type { types } from "@aas-core-works/aas-core3.0rc02-typescript";
type ConnectionType = "ON_DEMAND" | "PERMANENT";
export abstract class InterfaceConnectionObject {
public abstract readonly name: string;
public abstract readonly connectionType: ConnectionType;
public abstract readonly supportsSubscriptions: boolean;
public abstract connect(): boolean;
public abstract disconnect(): void;
public abstract readProperty(prop: types.Property): void;
public abstract writeProperty(prop: types.Property, value: any): void;
public abstract observeProperty(prop: types.Property, callback: (value: any) => void): boolean;
public abstract callActionSync(action: types.Operation, args: types.OperationVariable[]): any;
public abstract callActionAsync(action: types.Operation, args: types.OperationVariable[]): Promise<boolean>;
public abstract readAsyncActionResponse(action: types.Operation): Promise<any>;
public abstract subscribeEvent(callback: (event: types.BasicEventElement) => void): boolean;
public abstract unsubscribeEvent(): void;
}