/*============================================================================== Copyright (c) 2003-2005 UGS Corporation Unpublished - All Rights Reserved ==============================================================================*/ /** @file Item ID Record functions */ /* */ #ifndef IIR_ITK_HHH #define IIR_ITK_HHH #include /** @defgroup IIR Item ID Registry (IIR) @ingroup PUBR The Item ID Registry is a centralized database of all Item Ids that have been assigned throughout the Teamcenter Engineering federation. @{ */ #define ITEM_REGISTRY_ACTIVE "ITEM_id_registry" #define ITEM_REGISTRY_SITE "ITEM_id_registry_site" #define ITEM_REGISTRY_UNREGISTER_ON_DELETE "ITEM_id_unregister_on_delete" #define ITEM_REGISTRY_ALLOW_IF_SERVER_DOWN "ITEM_id_allow_if_registry_down" #define ITEM_REGISTRY_REGISTER_ON_CREATE "ITEM_id_always_register_on_creation" #include #ifdef __cplusplus extern "C"{ #endif /** This function is used to register an item id. */ extern PUBLICATION_API int IIR_register_item_id( const char* item_id, /**< (I) The item id to be registered */ int site_id /**< (I) */ ); /** This function is used to unregister an item id. Return Values: #IIR_item_not_registered - Item ID not found in registry database */ extern PUBLICATION_API int IIR_unregister_item_id( const char* item_id, /**< (I) The item id to be unregistered */ int site_id /**< (I) */ ); extern PUBLICATION_API int IIR_is_item_id_registered( const char* item_id, /**< (I) */ int* verdict, /**< (O) */ int site_id /**< (I) */ ); extern PUBLICATION_API int IIR_register_item_with_mfk( tag_t item_tag, /**< (I) */ int site_id /**< (I) */ ); extern PUBLICATION_API int IIR_unregister_item_with_mfk( tag_t item_tag, /**< (I) */ int site_id /**< (I) */ ); extern PUBLICATION_API int IIR_is_item_with_mfk_registered( tag_t item_tag, /**< (I) */ int * verdict, /**< (O) */ int site_id /**< (I) */ ); /** Registers a Multi-Field Key Identifier for a given MFKItem (Multi-Field Key Definition Item). @returns */ extern PUBLICATION_API int IIR_register_item_mfk_id( tag_t type_tag, /**< (I) Item type tag */ int n_key_values, /**< (I) Number of key-value pairs */ const char** keys, /**< (I) Array of keys */ const char** values, /**< (I) Array of values */ int site_id /**< (I) Object Directory Services (ODS) site ID */ ); /** Unregisters a Multi-Field Key Identifier for a given MFKItem (Multi-Field Key Definition Item). @returns */ extern PUBLICATION_API int IIR_unregister_item_mfk_id( tag_t type_tag, /**< (I) Item type tag */ int n_key_values, /**< (I) Number of key-value pairs */ const char** keys, /**< (I) Array of keys */ const char** values, /**< (I) Array of values */ int site_id /**< (I) Object Directory Services (ODS) site ID */ ); /** Checks if a Multi-Field Key Identifier for a given MFKItem (Multi-Field Key Definition Item) is registered. @returns */ extern PUBLICATION_API int IIR_is_item_mfk_id_registered( tag_t type_tag, /**< (I) Item type tag */ int n_key_values, /**< (I) Number of key-value pairs */ const char** keys, /**< (I) Array of keys */ const char** values, /**< (I) Array of values */ int* verdict, /**< (O) Given Multi-Field ID is registered or not */ int site_id /**< (I) Object Directory Services (ODS) site ID */ ); /** Registers the specified Item in the PostAction extension of Item Create event. @returns */ extern PUBLICATION_API int IIR_postaction_register_item_id ( const char* item_id, /**< (I) The item_id used for registering the item. */ int site_id /**< (I) Object Directory Services (ODS) site ID */ ); /** @} */ #ifdef __cplusplus } #endif #include #endif