PreviousNext

XOM Functions

This topic provides an overview of the XOM service interface functions as listed in the following table. For a full description of these functions, see the *(3xom) reference pages.


XOM Service Interface Functions

Function Description
om_copy( ) Copies a private object.
om_copy_value( ) Copies a string between private objects.
om_create( ) Creates a private object.
om_decode( ) Not supported by the DCE XOM interface; it returns an OM_FUNCTION_DECLINED error.
om_delete( ) Deletes a private or service-generated object.
om_encode( ) Not supported by the DCE XOM interface; it returns an OM_FUNCTION_DECLINED error.
om_get( ) Gets copies of attribute values from a private object.
om_instance( ) Tests an object's class.
om_put( ) Puts attribute values into a private object.
om_read( ) Reads a segment of a string in a private object.
om_remove( ) Removes attribute values from a private object.
om_write( ) Writes a segment of a string into a private object.
The purpose and range of capabilities of the service interface functions can be summarized as follows:

· om_copy( )

This function creates an independent copy of an existing private object and all its subobjects. The copy is placed in the workspace of the original object, or in another workspace specified by the DCE client.

· om_copy_value( )

This function replaces an existing attribute value or inserts a new value in one private object with a copy of an existing attribute value found in another. Both values must be strings.

· om_create( )

This function creates a new private object that is an instance of a particular class. The object can be initialized with the attribute values specified as initial in the class definition. The service does not permit the client to explicitly create instances of all classes, but rather only those indicated by a package's definition as having this property.

· om_delete( )

This function deletes a service-generated public object or makes a private object inaccessible.

· om_get( )

This function creates a new public object that is an exact, but independent, copy of an existing private object. The client can request certain exclusions, each of which reduces the copy to a part of the original. The client can also request that values be converted from one syntax to another before they are returned.

The copy can exclude attributes of types other than those specified, values at positions other than those specified within an attribute, values of multivalued attributes, copies of (not handles for) subobjects, or all attribute values. Excluding all attribute values reveals only an attribute's presence.

· om_instance( )

This function determines whether an object is an instance of a particular class. The client can determine an object's class simply by inspection. This function is useful since it reveals that an object is an instance of a particular class, even if the object is an instance of a subclass of that class.

· om_put( )

This function places or replaces in one private object copies of the attribute values of another public or private object.

The source values can be inserted before any existing destination values, before the value at a specified position in the destination attribute, or after any existing destination values. Alternatively, the source values can be substituted for any existing destination values or for the values at specified positions in the destination attribute.

· om_read( )

This function reads a segment of a value of an attribute of a private object. The value must be a string. The value can first be converted from one syntax to another. This function enables the client to read an arbitrarily long value without requiring that the service place a copy of the entire value in memory.

· om_remove( )

This function removes and discards particular values of an attribute of a private object. The attribute itself is removed if no values remain.

· om_write( )

This function writes a segment of an attribute value to a private object. The value must be a string. The segment can first be converted from one syntax to another. The written segment becomes the value's last segment since any elements beyond it are discarded. The function enables the client to write an arbitrarily long value without having to place a copy of the entire value in memory.