Private objects are created dynamically by the service interface. In the figure entitled Client-Generated and Service-Generated Objects , the ds_read( ) function returns a pointer to the data structure result in the workspace. This service-generated data structure is a private object in a private implementation-specific format, which requires a call to om_get( ) to interpret the data. A private object is one of the required input parameters to XOM API functions (such as om_get( )), as shown in the figure entitled Client-Generated and Service-Generated Objects. Private objects are always service generated.
The table below compares private and public objects.
Comparison of Private and Public Objects
Private | Public |
Representation is implementation specific | Representation is defined in the API specification |
Not directly accessible by the client | Directly accessible by the client |
Manipulated by the client by using OM functions | Manipulated by the client by using programming constructs |
Created in storage provided by the service | Is a service-generated object if created by the service Is a client-generated object if created by the client in storage provided by the client |
Cannot be modified by the client directly, except through the service interface | If a client-generated object, can be modified directly by the client If a service-generated object, cannot be modified directly by the client, except through the service interface |
Storage is allocated and released by the service | If a service-generated object, storage is allocated and released by the service If a client-generated object, storage is allocated and released by the client |