@wildboar/rose
Version:
Remote Operation Service Element PDUs in TypeScript
67 lines • 1.83 kB
text/typescript
import { OBJECT_IDENTIFIER } from '@wildboar/asn1';
import * as $ from '@wildboar/asn1/functional';
import { type CONTRACT } from '../Remote-Operations-Information-Objects/CONTRACT.oca.mjs';
/**
* @summary ROS_OBJECT_CLASS
* @description
*
* ### ASN.1 Definition:
*
* ```asn1
* ROS-OBJECT-CLASS ::= CLASS {
* &Is ROS-OBJECT-CLASS OPTIONAL,
* &Initiates CONTRACT OPTIONAL,
* &Responds CONTRACT OPTIONAL,
* &InitiatesAndResponds CONTRACT OPTIONAL,
* &id OBJECT IDENTIFIER UNIQUE
* }
* WITH SYNTAX {
* [IS &Is]
* [BOTH &InitiatesAndResponds]
* [INITIATES &Initiates]
* [RESPONDS &Responds]
* ID &id
* }
* ```
*
* @interface
*/
export interface ROS_OBJECT_CLASS {
/**
* @summary A fixed string that can be used for external programs to determine the object class of this object.
*/
readonly class: 'ROS-OBJECT-CLASS';
/**
* @summary A map of type fields to their corresponding decoders.
*/
readonly decoderFor: Partial<{
[_K in keyof ROS_OBJECT_CLASS]: $.ASN1Decoder<ROS_OBJECT_CLASS[_K]>;
}>;
/**
* @summary A map of type fields to their corresponding encoders.
*/
readonly encoderFor: Partial<{
[_K in keyof ROS_OBJECT_CLASS]: $.ASN1Encoder<ROS_OBJECT_CLASS[_K]>;
}>;
/**
* @summary &Is
*/
readonly '&Is'?: ROS_OBJECT_CLASS[];
/**
* @summary &Initiates
*/
readonly '&Initiates'?: CONTRACT[];
/**
* @summary &Responds
*/
readonly '&Responds'?: CONTRACT[];
/**
* @summary &InitiatesAndResponds
*/
readonly '&InitiatesAndResponds'?: CONTRACT[];
/**
* @summary &id
*/
readonly '&id'?: OBJECT_IDENTIFIER;
}
//# sourceMappingURL=ROS-OBJECT-CLASS.oca.d.mts.map