// Copyright 2020 Siemens Digital Industries Software // ================================================== // Copyright 2013. // Siemens Product Lifecycle Management Software Inc. // All Rights Reserved. // ================================================== // Copyright 2020 Siemens Digital Industries Software /** @file This file contains the function signatures for traversing from source object for specified relation or reference to get the destination objects */ #ifndef TRAVERSAL_H #define TRAVERSAL_H #include #include /** @defgroup TRAVERSAL_RULES Traversal Rules @ingroup TC Teamcenter has implemented traversal functions that allow users to traverse Teamcenter data. Detailed information is supplied for the following aspects of traversal rule related functions: Teamcenter makes use of this mechanism itself, and it also provides ITK level functions for programmers to make use of the same traversal. @note Teamcenter may alter or obsolete traversal related functions defined here as the product evolves. These changes will be documented in the Release Notes. The ITK traversal rule functions include: To use these functions, include traversal.h. @{ */ #ifdef __cplusplus extern "C"{ #endif /** Retrieves destination objects of a given destination object type which contain references to the source object.
Valid values for the "source_object" could be any business object tag.
Valid values for the "destination_obj_type" any business object type tag.
@returns */ extern TCCORE_API int TRAVERSAL_get_destination_objects_where_reference ( tag_t source_object, /**< (I) Tag of the source object */ tag_t destination_obj_type, /**< (I) Object type to filter the destination object list */ int* count, /**< (O) Final count of destination objects after filtering. If no destination objects found, the count is zero. */ tag_t** destination_object_list /**< (OF) count Array of destination objects after filtering */ ); /** Retrieves the destination objects for given source object using where reference for a given property on the destination object.
Valid values for the "source_object" could be any business object tag.
Valid values for the "destination_obj_type" any business object type tag.
@returns */ extern TCCORE_API int TRAVERSAL_get_destination_objects_where_reference_property ( tag_t source_object, /**< (I) Tag of the source object */ const char* prop_name, /**< (I) Property name which references the destination object */ tag_t destination_obj_type, /**< (I) Object type to filter the destination object list */ int* count, /**< (O) Final count of destination objects after filtering. If no destination objects found, the count is zero */ tag_t** destination_object_list /**< (OF) count Array of destination objects after filtering */ ); /** Retrieves the destination objects for given source object using the property refering to the destination object.
Valid values for the "source_object" could be any business object tag.
Valid values for the "prop_name" valid property on source object.
Valid values for the "destination_obj_type" any business object type tag.
@returns */ extern TCCORE_API int TRAVERSAL_get_destination_objects_for_reference_property ( tag_t source_object, /**< (I) Tag of the source object */ const char* prop_name, /**< (I) Property name which references the destination object */ tag_t destination_obj_type, /**< (I) Object type to filter the destination object list */ int* count, /**< (O) Final count of destination objects after filtering. If no destination objects found, the count is zero */ tag_t** destination_object_list /**< (OF) count Array of destination objects after filtering */ ); /** Retrieves the destination objects for given source object using relation.
Valid values for the "source_object" could be any business object tag.
Valid values for the "relation_type" valid relation type.
Valid values for the "destination_obj_type" any business object type tag.
@returns */ extern TCCORE_API int TRAVERSAL_get_destination_objects_for_relation ( tag_t source_object, /**< (I) Tag of the source object */ tag_t relation_type, /**< (I) Tag of relation */ tag_t destination_obj_type, /**< (I) Object type to filter the destination object list */ int* count, /**< (O) Final count of destination objects after filtering. If no destination objects found, the count is zero */ tag_t** destination_object_list /**< (OF) count Array of destination objects after filtering */ ); /** Retrieves the destination objects for given source object using reverse relation.
Valid values for the "source_object" could be any business object tag.
Valid values for the "relation_type" valid relation type.
Valid values for the "destination_obj_type" any business object type tag.
@returns */ extern TCCORE_API int TRAVERSAL_get_destination_objects_for_relation_reverse ( tag_t source_object, /**< (I) Tag of the source object */ tag_t relation_type, /**< (I) Tag of relation */ tag_t destination_obj_type, /**< (I) Object type to filter the destination object list */ int* count, /**< (O) Final count of destination objects after filtering. If no destination objects found, the count is zero */ tag_t** destination_object_list /**< (OF) count Array of destination objects after filtering */ ); /** @} */ #ifdef __cplusplus } #endif #include #endif