@wildboar/rose
Version:
Remote Operation Service Element PDUs in TypeScript
68 lines • 2.05 kB
text/typescript
import { OBJECT_IDENTIFIER } from '@wildboar/asn1';
import * as $ from '@wildboar/asn1/functional';
import { type CONNECTION_PACKAGE } from '../Remote-Operations-Information-Objects/CONNECTION-PACKAGE.oca.mjs';
import { type OPERATION_PACKAGE } from '../Remote-Operations-Information-Objects/OPERATION-PACKAGE.oca.mjs';
/**
* @summary CONTRACT
* @description
*
* ### ASN.1 Definition:
*
* ```asn1
* CONTRACT ::= CLASS {
* &connection CONNECTION-PACKAGE OPTIONAL,
* &OperationsOf OPERATION-PACKAGE OPTIONAL,
* &InitiatorConsumerOf OPERATION-PACKAGE OPTIONAL,
* &InitiatorSupplierOf OPERATION-PACKAGE OPTIONAL,
* &id OBJECT IDENTIFIER UNIQUE OPTIONAL
* }
* WITH SYNTAX {
* [CONNECTION &connection]
* [OPERATIONS OF &OperationsOf]
* [INITIATOR CONSUMER OF &InitiatorConsumerOf]
* [RESPONDER CONSUMER OF &InitiatorSupplierOf]
* [ID &id]
* }
* ```
*
* @interface
*/
export interface CONTRACT {
/**
* @summary A fixed string that can be used for external programs to determine the object class of this object.
*/
readonly class: 'CONTRACT';
/**
* @summary A map of type fields to their corresponding decoders.
*/
readonly decoderFor: Partial<{
[_K in keyof CONTRACT]: $.ASN1Decoder<CONTRACT[_K]>;
}>;
/**
* @summary A map of type fields to their corresponding encoders.
*/
readonly encoderFor: Partial<{
[_K in keyof CONTRACT]: $.ASN1Encoder<CONTRACT[_K]>;
}>;
/**
* @summary &connection
*/
readonly '&connection'?: CONNECTION_PACKAGE;
/**
* @summary &OperationsOf
*/
readonly '&OperationsOf'?: OPERATION_PACKAGE[];
/**
* @summary &InitiatorConsumerOf
*/
readonly '&InitiatorConsumerOf'?: OPERATION_PACKAGE[];
/**
* @summary &InitiatorSupplierOf
*/
readonly '&InitiatorSupplierOf'?: OPERATION_PACKAGE[];
/**
* @summary &id
*/
readonly '&id'?: OBJECT_IDENTIFIER;
}
//# sourceMappingURL=CONTRACT.oca.d.mts.map