This chapter defines the Object Management Package (OMP). The object identifier (referred to as om) assigned to the package, as defined by this guide, is the object identifier specified in ASN.1 as {joint-iso-ccitt(2) mhs-motis(6) group(6) white(1) api(2) om(4)}.
This section shows the hierarchical organization of the OM classes. Subclassification is indicated by indentation, and the names of abstract classes are in italics. Thus, for example, OM_C_ENCODING is an immediate subclass of OM_C_OBJECT, an abstract class. The names of classes to which om_encode applies are in boldface. (DCE XOM does not support the encoding of any OM classes.) The om_create() function applies to all concrete classes.
The following subsections define the OM classes.
An instance of class OM_C_ENCODING is an object represented in a form suitable for transmission between workspaces, for transport via a network, or for storage in a file. Encoding can also be a suitable way of indicating to an intermediate service provider (for example, a directory, or message transfer system) an object that it does not recognize.
This class has the attributes of its superclass, OM_C_OBJECT, in addition to the specific attributes listed in Table 19-1.
| OM Attribute | Value Syntax | Value Length | Value Number | Value Initially |
|---|---|---|---|---|
| OM_OBJECT_CLASS | String(OM_S_OBJECT_IDENTIFIER_STRING) | -- | 1 | -- |
| OM_OBJECT_ENCODING | String1 | -- | 1 | -- |
| OM_RULES | String(OM_S_OBJECT_IDENTIFIER_STRING) | -- | 1 | ber |
- 1
- If the Rules attribute is ber or canonical-ber, the syntax of the present attribute must be String(OM_S_ENCODING_STRING).
This attribute identifies the class of the object that the Object Encoding attribute encodes. The class must be concrete.
This attribute identifies the set of rules that are followed to produce the Object Encoding attribute. Among the defined values of this attribute are those represented as follows:
This value is specified in ASN.1 as {joint-iso-ccitt(2) asn1(1) basic-encoding(1)}. This value indicates the BER. (See Clause 25.2 of Recommendation X.209, ``Specification of Basic Encoding Rules for Abstract Syntax Notation 1 (ASN.1),'' CCITT Blue Book, Fascicle VIII.4, International Telecommunications Union, Also published by ISO as ISO 8825.)
This value is specified in ASN.1 as {joint-iso-ccitt(2) mhs-motis(6) group(6) white(1) api(2) om(4) canonical-ber(4)}. This value indicates the canonical BER. (See Clause 8.7 of Recommendation X.509, ``The Directory: Authentication Framework,'' International Telecommunications Union, 1988. Also published by ISO as ISO 9594-8.)
Note: In general, an instance of this class cannot appear as a value whose syntax is Object (C) if C is not OM_C_ENCODING, even if the class of the object encoded is C.
An instance of class OM_C_EXTERNAL is a data value and one or more information items that describe the data value and identify its data type. This class corresponds to ASN.1's External type, and thus the class and the attributes specific to it are described indirectly in the specification of ASN.1. (See Clause 34 of Recommendation X.208, ``Specification of Abstract Syntax Notation 1 (ASN.1),'' CCITT Blue Book, Fascicle VIII.4, International Telecommunications Union, 1988. Also published by ISO as ISO 8824.)
This class has the attributes of its superclass, OM_C_OBJECT, in addition to the OM attributes specific to this class that are listed in Table 19-2.
| OM Attribute | Value Syntax | Value Length | Value Number | Value Initially |
|---|---|---|---|---|
| OM_ARBITRARY_ENCODING | String(OM_S_BIT_STRING) | -- | 0 or 11 | -- |
| OM_ASN1_ENCODING | String(OM_S_ENCODING_STRING | -- | 0 or 11 | -- |
| OM_DATA_VALUE_DESCRIPTOR | String(OM_S_OBJECT_DESCRIPTOR_STRING) | -- | 0 or 1 | -- |
| OM_DIRECT_REFERENCE | String(OM_S_OBJECT_IDENTIFIER_STRING) | -- | 0 or 1 | -- |
| OM_INDIRECT_REFERENCE | OM_S_INTEGER | -- | 0 or 1 | -- |
| OM_OCTET_ALIGNED_STRING | String(OM_S_OCTET_STRING) | -- | 0 or 11 | -- |
- 1
- Only one of these three attributes is present.
This attribute is a representation of the data value as a bit string.
The data value. This attribute can be present only if the data type is an ASN.1 type.
If this attribute value's syntax is an Object syntax, the data value's representation is that produced by om_encode when its Object parameter is the attribute value and its Rules parameter is ber. Thus, the object's class must be one to which om_encode applies.
This attribute contains a description of the data value.
This attribute contains a direct reference to the data type.
This attribute contains an indirect reference to the data type.
This attribute contains a representation of the data value as an octet string.
The class OM_C_OBJECT represents information objects of any variety. This abstract class is distinguished by the fact that it has no superclass and that all other classes are its subclasses.
The attribute specific to this class is listed in Table 19-3.
| OM Attribute | Value Syntax | Value Length | Value Number | Value Initially |
|---|---|---|---|---|
| OM_CLASS | String(OM_S_OBJECT_IDENTIFIER_STRING) | -- | 1 | -- |
This attribute identifies the object's class.