summaryrefslogtreecommitdiffstats
path: root/comm/third_party/asn1js/src/RelativeObjectIdentifier.ts
diff options
context:
space:
mode:
Diffstat (limited to 'comm/third_party/asn1js/src/RelativeObjectIdentifier.ts')
-rw-r--r--comm/third_party/asn1js/src/RelativeObjectIdentifier.ts54
1 files changed, 54 insertions, 0 deletions
diff --git a/comm/third_party/asn1js/src/RelativeObjectIdentifier.ts b/comm/third_party/asn1js/src/RelativeObjectIdentifier.ts
new file mode 100644
index 0000000000..997220eae4
--- /dev/null
+++ b/comm/third_party/asn1js/src/RelativeObjectIdentifier.ts
@@ -0,0 +1,54 @@
+import { BaseBlock, BaseBlockJson, BaseBlockParams } from "./BaseBlock";
+import { LocalRelativeObjectIdentifierValueBlockParams, LocalRelativeObjectIdentifierValueBlock, LocalRelativeObjectIdentifierValueBlockJson } from "./internals/LocalRelativeObjectIdentifierValueBlock";
+import { typeStore } from "./TypeStore";
+
+
+export interface RelativeObjectIdentifierParams extends BaseBlockParams, LocalRelativeObjectIdentifierValueBlockParams { }
+export interface RelativeObjectIdentifierJson extends BaseBlockJson<LocalRelativeObjectIdentifierValueBlockJson> {
+ value: string;
+}
+
+export class RelativeObjectIdentifier extends BaseBlock<LocalRelativeObjectIdentifierValueBlock, LocalRelativeObjectIdentifierValueBlockJson> {
+
+ static {
+ typeStore.RelativeObjectIdentifier = this;
+ }
+
+ /**
+ * Gets string representation of Relative Object Identifier
+ * @since 3.0.0
+ */
+ public getValue(): string {
+ return this.valueBlock.toString();
+ }
+
+ /**
+ * Sets Relative Object Identifier value from string
+ * @param value String value
+ * @since 3.0.0
+ */
+ public setValue(value: string): void {
+ this.valueBlock.fromString(value);
+ }
+
+ public static override NAME = "RelativeObjectIdentifier";
+
+ constructor(parameters: RelativeObjectIdentifierParams = {}) {
+ super(parameters, LocalRelativeObjectIdentifierValueBlock);
+
+ this.idBlock.tagClass = 1; // UNIVERSAL
+ this.idBlock.tagNumber = 13; // RELATIVE OBJECT IDENTIFIER
+ }
+
+ protected override onAsciiEncoding(): string {
+ return `${(this.constructor as typeof RelativeObjectIdentifier).NAME} : ${this.valueBlock.toString() || "empty"}`;
+ }
+
+ public override toJSON(): RelativeObjectIdentifierJson {
+ return {
+ ...super.toJSON(),
+ value: this.getValue(),
+ };
+ }
+
+}