00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef CM_H
00026 #define CM_H
00027
00028
00029 #include <tc/tc_startup.h>
00030 #include <cm/cm_errors.h>
00031 #include <cm/libcm_exports.h>
00032
00036 typedef enum AddType{ ADD = 0, REMOVE }AddType_t;
00037
00041 typedef struct RelationshipDataList
00042 {
00043 tag_t **businessObjects;
00044 int busObjCount;
00045 char* relTypeName;
00046 AddType_t addType;
00047 }RelationshipDataList_lst;
00048
00052 typedef struct AttributeNameValueList
00053 {
00054 char * propertyName;
00055 char **newValues;
00056 int valueCount;
00057 }AttributeNameValueList_lst;
00058
00063 typedef enum CM_bom_change_type_e{
00064 CMBOM_unknown = 0,
00065 CMBOM_Add,
00066 CMBOM_Cancel,
00067 CMBOM_Quantity_Change,
00068 CMBOM_Move,
00069 CMBOM_Reshape,
00070 CMBOM_Note_Change,
00071 CMBOM_Variant_Change,
00072 CMLBOM_Add,
00073 CMLBOM_Cancel,
00074 CMLBOM_Quantity_Change
00075 } CM_bom_change_type_t;
00076
00080 typedef struct CM_note_change_info_s{
00081 tag_t notechangeTag;
00082 tag_t chngRevtag;
00083 tag_t solBvrTag;
00084 tag_t impBvrTag;
00085 int noOfNoteChanged;
00086 int noOfFormFlds;
00087 char** noteTypeNames;
00088 char** beforeValues;
00089 char** afterValues;
00090 char** formFldNames;
00091 char** formFldValues;
00092 } CM_note_change_info_t;
00093
00094
00095 #ifdef __cplusplus
00096 extern "C"{
00097 #endif
00098
00099
00100
00106 extern CM_API int CM_get_prev_bvr( tag_t chngRevTag,
00107 tag_t bvr_tag,
00108 tag_t* prev_bvr_tag
00109 );
00110
00111
00112
00113
00114
00121 extern CM_API int CM_get_bomedits ( tag_t chngRevTag,
00122 tag_t affected_bvr,
00123 CM_bom_change_type_t bomch_type,
00124 int* num_of_bomch,
00125 tag_t** bomch_tags
00126 );
00127
00128
00132 extern CM_API int CM_save_BOMEdits( tag_t chngRevTag,
00133 tag_t bomWindow ,
00134 tag_t probBomWindow,
00135 int* num_of_bom_tags,
00136 tag_t** bomchanges
00137 );
00138
00142 extern CM_API int CM_get_occurrence_of_bomedit( tag_t bomch_tag,
00143 tag_t* occ_tag
00144 );
00145
00146
00147
00158 extern CM_API int CM_get_note_change_details(
00159 tag_t note_change_tag,
00160 CM_note_change_info_t* notechange_details
00161 );
00162
00163
00167 extern CM_API void CM_free_notechange_info_struct( CM_note_change_info_t info
00168 );
00169
00170 #ifdef __cplusplus
00171 }
00172 #endif
00173
00176 #include <cm/libcm_undef.h>
00177 #endif