You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
164 lines
6.9 KiB
164 lines
6.9 KiB
/*==============================================================================
|
|
Copyright (c) 2003-2005 UGS Corporation
|
|
Unpublished - All Rights Reserved
|
|
==============================================================================*/
|
|
|
|
/**
|
|
@file
|
|
|
|
This file contains the Object Directory Services Module prototypes and typedefs
|
|
for the ITK interface
|
|
*/
|
|
|
|
/* */
|
|
|
|
#ifndef ODS_ITK_HHH
|
|
#define ODS_ITK_HHH
|
|
|
|
#include <tc/tc_startup.h>
|
|
#include <publication/libpublication_exports.h>
|
|
|
|
/**
|
|
@defgroup ODS Object Directory Services (ODS)
|
|
@ingroup PUBR
|
|
|
|
<b>Common Return Values</b>
|
|
|
|
<table>
|
|
<tr><td>Return Value </td><td>Description </td></tr>
|
|
<tr><td>#CXPOM_invalid_tag </td><td>Specified object tag is not valid. </td></tr>
|
|
<tr><td>#ODS_no_such_site </td><td>Specified site ID does not exist </td></tr>
|
|
<tr><td>#ODS_no_connect </td><td>Unable to establish network connection to specified ODS </td></tr>
|
|
<tr><td>#ODS_client_access_denied </td><td>Specified ODS the site does not allow requests from the site where
|
|
the publication request came from. </td></tr>
|
|
<tr><td>#ODS_no_default_site </td><td>Specified site ID is zero but the default ODS was not defined in
|
|
site preference file </td></tr>
|
|
<tr><td>#POM_invalid_tag </td><td>Specified object tag is not a valid. </td></tr>
|
|
<tr><td>#PUBR_not_publishable_class</td><td>Class of the specified object is not a publishable class.</td></tr>
|
|
</table>
|
|
@{
|
|
*/
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"{
|
|
#endif
|
|
|
|
/**
|
|
Publishes the object to the specified ODS site. The object must be owned by the local site.
|
|
|
|
<b>Restrictions:</b>
|
|
|
|
The class of the specified object must be a publishable class.
|
|
The specified site must be an ODS site.
|
|
*/
|
|
extern PUBLICATION_API int ODS_publish_object(
|
|
int site_id, /**< (I) Site ID of ODS site to publish to. If 0, the default ODS will be used. */
|
|
tag_t obj_tag /**< (I) Tag of the object to be published */
|
|
);
|
|
|
|
/**
|
|
Returns Publication Record information about the specified object previously published to the specified ODS site.
|
|
The information is returned via the description object,
|
|
which is a run-time object whose properties correspond to the attributes of a Publication Record.
|
|
|
|
The Property ITK functions should be used to get the desired property values.
|
|
The property names are documented in the file named system_property_names.uih under "PublishedObject properties".
|
|
|
|
The following properties can be obtained:
|
|
|
|
<table>
|
|
<tr><td>Property Name </td><td>Value Type </td></tr>
|
|
<tr><td>po_object_tag </td><td>#PROP_untyped_reference</td></tr>
|
|
<tr><td>po_owning_site </td><td>#PROP_int </td></tr>
|
|
<tr><td>po_pub_date </td><td>#PROP_date </td></tr>
|
|
<tr><td>po_object_class </td><td>#PROP_string </td></tr>
|
|
<tr><td>po_object_type </td><td>#PROP_string </td></tr>
|
|
<tr><td>po_object_id </td><td>#PROP_string </td></tr>
|
|
<tr><td>po_object_name </td><td>#PROP_string </td></tr>
|
|
<tr><td>po_owner_id </td><td>#PROP_string </td></tr>
|
|
<tr><td>po_group_id </td><td>#PROP_string </td></tr>
|
|
<tr><td>po_object_creation_date </td><td>#PROP_date </td></tr>
|
|
<tr><td>po_object_desc </td><td>#PROP_string </td></tr>
|
|
<tr><td>po_object_rel_stat_names</td><td>#PROP_string </td></tr>
|
|
</table>
|
|
|
|
After the Publication Record information is obtained,
|
|
the description object should be deleted using #ODS_free_description_object.
|
|
|
|
<b>Restrictions:</b>
|
|
|
|
The specified site must be an ODS site.
|
|
*/
|
|
extern PUBLICATION_API int ODS_describe_object(
|
|
int site_id, /**< (I) Site ID of ODS site. If 0, the default ODS will be used */
|
|
tag_t obj_tag, /**< (I) Tag of the object to get information on */
|
|
tag_t* description_obj_tag /**< (O) Tag of description object */
|
|
);
|
|
|
|
/**
|
|
Returns the current owning site of the object by searching the specified ODS sites.
|
|
|
|
<b>Restrictions:</b>
|
|
|
|
The object must be previously published.
|
|
*/
|
|
extern PUBLICATION_API int ODS_locate_object(
|
|
int n_ods_site_ids, /**< (I) Number of ODS sites to search */
|
|
int* ods_site_ids, /**< (I) n_ods_site_ids Site IDs of all ODS sites to search */
|
|
tag_t obj_tag, /**< (I) Tag of the object to be located */
|
|
logical* found, /**< (O) Logical that is set to TRUE if object is located and FALSE if not located */
|
|
int* site_id /**< (O) Site ID of site that currently owns the object */
|
|
);
|
|
|
|
/**
|
|
Unpublishes the object from the specified ODS site.
|
|
The object must be owned by the local site and the object must have been previously published.
|
|
|
|
<b>Restrictions:</b>
|
|
|
|
The class of the specified object must be a publishable class.
|
|
The specified site must be an ODS site.
|
|
*/
|
|
extern PUBLICATION_API int ODS_unpublish_object(
|
|
int site_id, /**< (I) Site ID of ODS site to unpublish from.
|
|
If 0, the default ODS will be used. */
|
|
tag_t obj_tag /**< (I) Tag of the object to be unpublished */
|
|
);
|
|
|
|
/**
|
|
Re-publishes the object to the specified ODS site.
|
|
The object must be owned by the local site and must have been previously published.
|
|
|
|
<b>Restrictions:</b>
|
|
|
|
The class of the specified object must be a publishable class.
|
|
The specified site must be an ODS site.
|
|
*/
|
|
extern PUBLICATION_API int ODS_refresh_object(
|
|
int site_id, /**< (I) Site ID of ODS site to re-publish to.
|
|
If 0, the default ODS will be used. */
|
|
tag_t obj_tag /**< (I) Tag of the object to be re-published */
|
|
);
|
|
|
|
/**
|
|
Frees the memory allocated to the specified description object.
|
|
See #ODS_describe_object for more details about description objects.
|
|
|
|
<b>Restrictions:</b>
|
|
|
|
The description object must have been obtained from a previous call to #ODS_describe_object.
|
|
*/
|
|
extern PUBLICATION_API int ODS_free_description_object(
|
|
tag_t description_obj_tag /**< (I) Tag of the description object */
|
|
);
|
|
|
|
/** @} */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#include <publication/libpublication_undef.h>
|
|
|
|
#endif
|