CanonicalEncodingRulesElement.embeddedPresentationDataValue

Decodes an $(MONO EmbeddedPDV), which is a constructed data type, defined in the https://www.itu.int, International Telecommunications Union's https://www.itu.int/rec/T-REC-X.680/en, X.680.

The specification defines $(MONO EmbeddedPDV) as:

EmbeddedPDV ::= [UNIVERSAL 11] IMPLICIT SEQUENCE {
                identification CHOICE {
                    syntaxes SEQUENCE {
                        abstract OBJECT IDENTIFIER,
                        transfer OBJECT IDENTIFIER },
                    syntax OBJECT IDENTIFIER,
                    presentation-context-id INTEGER,
                    context-negotiation SEQUENCE {
                        presentation-context-id INTEGER,
                        transfer-syntax OBJECT IDENTIFIER },
                    transfer-syntax OBJECT IDENTIFIER,
                    fixed NULL },
                data-value-descriptor ObjectDescriptor OPTIONAL,
                data-value OCTET STRING }
            (WITH COMPONENTS { ... , data-value-descriptor ABSENT })

This assumes $(MONO AUTOMATIC TAGS), so all of the $(MONO identification) choices will be $(MONO CONTEXT-SPECIFIC) and numbered from 0 to 5.

The following additional constraints are applied to the abstract syntax when using Canonical Encoding Rules or Distinguished Encoding Rules, which are also defined in the https://www.itu.int/en/pages/default.aspx, International Telecommunications Union's http://www.itu.int/rec/T-REC-X.690/en, X.690 - ASN.1 encoding rules:

EmbeddedPDV ( WITH COMPONENTS {
                ... ,
                identification ( WITH COMPONENTS {
                    ... ,
                    presentation-context-id ABSENT,
                    context-negotiation ABSENT } ) } )

The stated purpose of the constraints shown above is to restrict the use of the $(MONO presentation-context-id), either by itself or within the context-negotiation, which makes the following the effective abstract syntax of $(MONO EmbeddedPDV) when using Canonical Encoding Rules or Distinguished Encoding Rules:

EmbeddedPDV ::= [UNIVERSAL 11] IMPLICIT SEQUENCE {
                identification CHOICE {
                    syntaxes SEQUENCE {
                        abstract OBJECT IDENTIFIER,
                        transfer OBJECT IDENTIFIER },
                    syntax OBJECT IDENTIFIER,
                    presentation-context-id INTEGER,
                    context-negotiation SEQUENCE {
                        presentation-context-id INTEGER,
                        transfer-syntax OBJECT IDENTIFIER },
                    transfer-syntax OBJECT IDENTIFIER,
                    fixed NULL },
                data-value-descriptor ObjectDescriptor OPTIONAL,
                data-value OCTET STRING }
                    ( WITH COMPONENTS {
                        ... ,
                        identification ( WITH COMPONENTS {
                            ... ,
                            presentation-context-id ABSENT,
                            context-negotiation ABSENT } ) } )

With the constraints applied, the abstract syntax for $(MONO EmbeddedPDV)s encoded using Canonical Encoding Rules or Distinguished Encoding Rules becomes:

EmbeddedPDV ::= [UNIVERSAL 11] IMPLICIT SEQUENCE {
                identification CHOICE {
                    syntaxes SEQUENCE {
                        abstract OBJECT IDENTIFIER,
                        transfer OBJECT IDENTIFIER },
                    syntax OBJECT IDENTIFIER,
                    transfer-syntax OBJECT IDENTIFIER,
                    fixed NULL },
                data-value-descriptor ObjectDescriptor OPTIONAL,
                data-value OCTET STRING }
  1. EmbeddedPDV embeddedPresentationDataValue [@property getter]
    class CanonicalEncodingRulesElement
    override @property @system const
    EmbeddedPDV
    embeddedPresentationDataValue
    ()
  2. EmbeddedPDV embeddedPresentationDataValue [@property setter]

Return Value

Type: EmbeddedPDV

an instance of types.universal.embeddedpdv.EmbeddedPDV

Throws

Meta