Main Page | Modules | Files | Functions | Code Elements | Data Structures | Deprecated

cm/cm.h

Go to the documentation of this file.
00001 /*=======================================================================================
00002 
00003                              Copyright (c) 2007 UGS Corporation
00004                              Unpublished - All rights reserved
00005 
00006 =========================================================================================
00007 
00008 File description:
00009 
00010     Filename: cm.h
00011     Module  : Change Management (cm)
00012     Description:
00013 
00014        This file contains declaration of ITK functions corresponding to Change Managment,
00015        BidPackage classes for Change Management Module.
00016 
00017 
00018 =========================================================================================
00019    Date                   Name                    Description of Change
00020    05-Mar-2008    Yared Estifanos     Initial Version
00021 
00022 $HISTORY$
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