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.
84 lines
3.3 KiB
84 lines
3.3 KiB
/* Copyright 2020 Siemens Digital Industries Software
|
|
==================================================
|
|
Copyright 2015.
|
|
Siemens Product Lifecycle Management Software Inc.
|
|
All Rights Reserved.
|
|
==================================================
|
|
Copyright 2020 Siemens Digital Industries Software */
|
|
|
|
/**
|
|
@file
|
|
|
|
TRV module definitions file
|
|
*/
|
|
|
|
#ifndef TEAMCENTER_TRV_TRV_H
|
|
#define TEAMCENTER_TRV_TRV_H
|
|
|
|
#include <unidefs.h>
|
|
|
|
#include <trv/libtrv_exports.h>
|
|
|
|
/**
|
|
Holds a generic name-value pair of strings
|
|
*/
|
|
typedef struct TIE_option_values_s
|
|
{
|
|
char *name; /**< Name of the option */
|
|
char *value; /**< Value of the option */
|
|
} TIE_option_value_t;
|
|
|
|
/**
|
|
Describes the status for the BOMLines to be indexed
|
|
*/
|
|
typedef enum TRV_cfg_delta_status_e
|
|
{
|
|
BL_DELTA_STATUS_SKIP, /**< The line will be skipped for indexing */
|
|
BL_DELTA_STATUS_MODIFY, /**< The line is modified */
|
|
BL_DELTA_STATUS_ADD, /**< The line is added */
|
|
BL_DELTA_STATUS_DELETE /**< The line is deleted */
|
|
} TRV_cfg_delta_status_t;
|
|
|
|
/**
|
|
Message to register the user exit for filtering out lines to traverse.
|
|
*/
|
|
#define TRV_filter_lines_to_traverse_msg "TRV_filter_lines_to_traverse"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"
|
|
{
|
|
#endif
|
|
|
|
/**
|
|
User exit to filter out the lines to traverse for indexing.<br/>
|
|
Custom implementation can be provided by registering with the message #TRV_filter_lines_to_traverse_msg. All the BOMLines
|
|
that need to be synchronized are passed in and the custom implementation has to update the directive values.
|
|
<br/>Setting the directive as false means to skip the line for the traversal for indexing.
|
|
|
|
@returns
|
|
<ul>
|
|
<li>#ITK_ok on success.
|
|
<li>#ITK_not_initialized if ITK initialization has failed.
|
|
<li>#ITK_invalid_name if a non-existent function is registered for the #TRV_filter_lines_to_traverse_msg message
|
|
</ul>
|
|
*/
|
|
extern TRV_API int TRV_filter_lines_to_traverse(
|
|
int n_lines, /**< (I) Number of lines identified for synchronization at a level */
|
|
const tag_t* bomlines, /**< (I) n_lines BOMLines identified for synchronization at a level */
|
|
const TRV_cfg_delta_status_t* line_delta_status, /**< (I) n_lines Delta status of the lines (Skip, Modify, Add, Delete) */
|
|
logical** directive, /**< (OF) n_lines Values set by the custom implementation of the message #TRV_filter_lines_to_traverse_msg to
|
|
indicate if each of the BOMLines are to be traversed or skipped for indexing.
|
|
<br/>The values are:
|
|
<ul>
|
|
<li>true: the line is to be traversed. This is the value returned if no customization is in place.
|
|
<li>false: the line is not to be traversed.
|
|
</ul> */
|
|
logical* user_exit_defined /**< (O) Indicates if a custom code was executed. */
|
|
);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#include <trv/libtrv_undef.h>
|
|
#endif
|