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

tccore/item.h

Go to the documentation of this file.
00001 /*==============================================================================
00002                 Copyright (c) 2003-2005 UGS Corporation
00003                    Unpublished - All Rights Reserved
00004  ==============================================================================*/
00005 
00023 /*  */
00024 
00025 #ifndef ITEM_H
00026 #define ITEM_H
00027 
00028 #include <fclasses/tc_basic.h>
00029 #include <tccore/workspaceobject.h>
00030 #include <tccore/libtccore_exports.h>
00031 
00052 #define ITEM_item_class_name_c          "Item"
00053 #define ITEM_rev_class_name_c           "ItemRevision"
00054 
00055 #define ITEM_ITEM_ID_PROP                "item_id"
00056 
00057 #define ITEM_revise_operation           "Revise"
00058 #define ITEM_saveas_operation           "SaveAs"
00059 
00060 #define ITEM_copy_as_object                 "copy_as_object"
00061 #define ITEM_copy_as_reference              "copy_as_reference"
00062 #define ITEM_relate_to_latest               "relate_to_latest"
00063 #define ITEM_revise_and_relate_to_latest    "revise_and_relate_to_latest"
00064 #define ITEM_no_copy                        "no_copy"
00065 #define ITEM_select                         "select"
00066 #define ITEM_system_copy                    "system_copy"
00067 
00068 #define ITEM_id_size_c                  128
00069 #define ITEM_name_size_c                WSO_name_size_c
00070 #define ITEM_type_size_c                32
00071 #define ITEM_desc_size_c                240
00072 
00073 typedef enum ITEM_attachment_type_e
00074 {
00075     ITEM_item_master_atth,
00076 
00077     ITEM_manifestation_atth,
00078     ITEM_requirement_atth,
00079     ITEM_specification_atth,
00080     ITEM_reference_atth,
00081 
00082     ITEM_master_data_atth,
00083 
00084     ITEM_bom_view_atth,  
00085     ITEM_bvr_atth,       
00086     ITEM_revision_atth,  
00088     ITEM_unknown_atth
00089 } ITEM_attachment_type_t;
00090 
00091 typedef struct ITEM_attached_object_s
00092 {
00093     tag_t                  attachment;
00094     ITEM_attachment_type_t attachment_type;
00095 } ITEM_attached_object_t;
00096 
00097 typedef struct ITEM_deepcopy_info_s
00098 {
00099     tag_t component; // Tag of the other side object.
00100     int action;      //Action
00101     char* objName; //New name for the copy object
00102     char* relation; //Name of the relation type.
00103     logical is_target_primary;
00104     logical is_required;
00105     logical copy_relations; // Whether to carry forward the Properties on the Relation
00106 }  ITEM_deepcopy_info_t;
00107 
00108 #ifdef __cplusplus
00109 extern "C"
00110 {
00111 #endif
00112 
00116 extern TCCORE_API int ITEM_init_module();
00117 
00118 extern TCCORE_API int ITEM_exit_module();
00119 
00138 extern TCCORE_API int ITEM_create_item(
00139     const char*         item_id,    
00141     const char*         item_name,  
00142     const char*         item_type,  
00143     const char*         rev_id,     
00145     tag_t*              item,       
00146     tag_t*              rev         
00147     );
00148 
00158 extern TCCORE_API int ITEM_create_item_with_masters(
00159     const char* item_id,                  
00162     const char* item_name,                
00163     const char* item_type,                
00165     const char* rev_id,                   
00168     tag_t       item_master_form_tag,     
00170     tag_t       item_rev_master_form_tag, 
00172     tag_t*      item,                     
00173     tag_t*      rev                       
00174     );
00175 
00193 extern TCCORE_API int ITEM_create_item2 (
00194                 const char *type_name,       
00195                 int        numAttrs,         
00196                 char       **attrNames,      
00197                 char       **attrValues,     
00198                 const char *rev_id,          
00199                 tag_t      *item,            
00200                 tag_t      *rev              
00201                 );
00202 
00226 extern TCCORE_API int ITEM_create_item_with_masters2(
00227                                    const char *type_name,           
00228                                    int        numAttrs,             
00229                                    char       **attrNames,          
00230                                    char       **attrValues,         
00231                                    const char *rev_id,              
00232                                    tag_t      item_master_tag,      
00233                                    tag_t      item_rev_master_tag,  
00234                                    tag_t      *item,                
00235                                    tag_t      *rev                  
00236                                    );
00244 extern TCCORE_API int ITEM_save_item(
00245     tag_t               item    
00246     );
00247 
00253 extern TCCORE_API int ITEM_delete_item(
00254     tag_t               item    
00255     );
00256 
00260 extern TCCORE_API int ITEM_extent  (
00261     int*                count,      
00262     tag_t**             item_list   
00263     );
00264 
00279 extern TCCORE_API int ITEM_find_item(
00280     const char*         item_id,    
00281     tag_t*              item        
00282     );
00283 
00295 extern TCCORE_API int ITEM_find(
00296     const char*         item_id,    
00297     int*                n_items,    
00298     tag_t**             item_tags   
00299     );
00300 
00306 extern TCCORE_API int ITEM_find_items_by_key_attributes(
00307     int num_attributes,                 
00308     const char** attribute_names,       
00309     const char** attribute_values,      
00310     int*                n_items,        
00311     tag_t**             item_tags       
00312     );
00313 
00314 extern TCCORE_API int ITEM_find_items_by_string(
00315     const char  *av_string,             
00316     int         *n_items,               
00317     tag_t       **item_tags             
00318     );
00319 
00329 extern TCCORE_API int ITEM_find_item_revs_by_key_attributes(
00330     int num_attributes,                 
00331     const char** attribute_names,       
00332     const char** attribute_values,      
00333     const char* rev_id,                 
00334     int*                n_items,        
00335     tag_t**             item_tags       
00336     );
00337 
00359 extern TCCORE_API int ITEM_find_item_revs_by_string(
00360     const char  *av_string,             
00361     int         *n_items,               
00362     tag_t       **item_tags             
00363     );
00364 
00381 extern TCCORE_API int ITEM_find_item_revs_by_string_and_revid(
00382     const char  *av_string,             
00383     const char  *revid,                 
00384     int         *n_items,               
00385     tag_t       **item_tags             
00386     );
00387 
00388 extern TCCORE_API int ITEM_exists(
00389     int num_attributes,              
00390     const char** attribute_names,    
00391     const char** attribute_values,   
00392     logical *exists                  
00393     );
00394 
00413 extern TCCORE_API int ITEM_exists_in_domain(
00414     const char * type_name ,            
00415     const int  num_attributes,          
00416     const char** attribute_names,       
00417     const char** attribute_values,      
00418     logical *exists                     
00419     );
00420 
00421 extern TCCORE_API int ITEM_rev_get_key_string(
00422     tag_t item_revision_tag,            
00423     char ** key_string                  
00424     );
00425 
00429 extern TCCORE_API int ITEM_ask_latest_rev(
00430     tag_t               item,   
00431     tag_t*              rev     
00432     );
00433 
00438 extern TCCORE_API int ITEM_list_all_revs(
00439     tag_t               item,       
00440     int*                count,      
00441     tag_t**             rev_list    
00442     );
00443 
00447 extern TCCORE_API int ITEM_list_bom_views(
00448     tag_t               item,       
00449     int*                count,      
00450     tag_t**             bv_list     
00451     );
00452 
00461 extern TCCORE_API int ITEM_attach_object(
00462     tag_t                  item,            
00464     tag_t                  object,          
00465     ITEM_attachment_type_t attachment_type  
00466     );
00467 
00476 extern TCCORE_API int ITEM_detach_object(
00477     tag_t                  item,            
00478     tag_t                  object,          
00479     ITEM_attachment_type_t attachment_type  
00480     );
00481 
00490 extern TCCORE_API int ITEM_list_attachs_of_type(
00491     tag_t                    item,              
00492     ITEM_attachment_type_t   attachment_type,   
00493     int*                     count,             
00494     ITEM_attached_object_t** objects            
00497     );
00498 
00508 extern TCCORE_API int ITEM_list_all_attachments(
00509     tag_t                    item,      
00510     int*                     count,     
00511     ITEM_attached_object_t** objects    
00514     );
00515 
00520 extern TCCORE_API int ITEM_copy_item(
00521     tag_t               rev,            
00522     const char*         new_item_id,    
00524     const char*         new_rev_id,     
00526     tag_t*              new_item,       
00527     tag_t*              new_rev         
00528     );
00529 
00537 extern TCCORE_API int ITEM_copy_item_with_masters(
00538     tag_t       rev,                      
00539     const char* new_item_id,              
00541     const char* new_rev_id,               
00543     tag_t       item_master_form_tag,     
00545     tag_t       item_rev_master_form_tag, 
00547     tag_t*      new_item,                 
00548     tag_t*      new_rev                   
00549     );
00550 
00562 extern TCCORE_API int ITEM_update_item_attachment(
00563     tag_t                  item,                
00564     tag_t                  old_object,          
00565     ITEM_attachment_type_t attachment_type,     
00566     tag_t                  new_object           
00567     );
00568 
00579 extern TCCORE_API int ITEM_ask_unit_of_measure(
00580     tag_t               item,   
00581     tag_t*              uom     
00582     );
00583 
00594 extern TCCORE_API int ITEM_set_unit_of_measure(
00595     tag_t               item,   
00596     tag_t               uom     
00597     );
00598 
00608 extern TCCORE_API int ITEM_ask_id(
00609     tag_t               item,                           
00610     char                item_id[ITEM_id_size_c + 1]     
00611     );
00612 
00613 
00620 extern TCCORE_API int ITEM_ask_id2(
00621     tag_t               item,                           
00622     char                **item_id                       
00623     );
00624 
00634 extern TCCORE_API int ITEM_set_id (
00635     tag_t               item,       
00636     const char*         item_id     
00637     );
00638 
00645 extern TCCORE_API int ITEM_ask_name(
00646     tag_t               item,                               
00647     char                item_name[ITEM_name_size_c + 1]     
00648     );
00649 
00653 extern TCCORE_API int ITEM_ask_name2(
00654     tag_t               item,                               
00655     char                **item_name                         
00656     );
00657 
00661 extern TCCORE_API int ITEM_set_name(
00662     tag_t               item,       
00663     const char*         item_name   
00664     );
00665 
00672 extern TCCORE_API int ITEM_ask_description(
00673     tag_t               item,                               
00674     char                item_desc[ITEM_desc_size_c + 1]     
00675     );
00676 
00680 extern TCCORE_API int ITEM_ask_description2(
00681     tag_t               item,                               
00682     char                **item_desc                         
00683     );
00684 
00688 extern TCCORE_API int ITEM_set_description(
00689     tag_t               item,       
00690     const char*         item_desc   
00691     );
00692 
00699 extern TCCORE_API int ITEM_ask_type(
00700     tag_t               item,                               
00701     char                item_type[ITEM_type_size_c + 1]     
00702     );
00703 
00704 
00708 extern TCCORE_API int ITEM_ask_type2(
00709     tag_t               item,                               
00710     char                **item_type                         
00711     );
00712 
00733 extern TCCORE_API int ITEM_create_rev(
00734     tag_t               item,       
00735     const char*         rev_id,     
00736     tag_t*              rev         
00737     );
00738 
00748 extern TCCORE_API int ITEM_create_rev_with_master(
00749     tag_t       item,                     
00750     const char* rev_id,                   
00751     tag_t       item_rev_master_form_tag, 
00753     tag_t*      rev                       
00754     );
00755 
00759 extern TCCORE_API int ITEM_save_rev(
00760     tag_t               rev     
00761     );
00762 
00768 extern TCCORE_API int ITEM_delete_rev(
00769     tag_t               rev     
00770     );
00771 
00775 extern TCCORE_API int ITEM_extent_rev(
00776     int*                count,      
00777     tag_t**             list        
00778     );
00779 
00792 extern TCCORE_API int ITEM_find_rev(
00793     const char*         item_id,    
00794     const char*         rev_id,     
00795     tag_t*              rev_tag     
00796     );
00797 
00809 extern TCCORE_API int ITEM_find_revision(
00810     tag_t               item,       
00811     const char*         rev_id,     
00812     tag_t*              rev_tag     
00813     );
00814 
00824 extern TCCORE_API int ITEM_find_revisions(
00825     tag_t               item,       
00826     const char*         rev_id,     
00827     int*                n_revs,     
00828     tag_t**             rev_tags    
00829     );
00830 
00834 extern TCCORE_API int ITEM_ask_item_of_rev(
00835     tag_t               rev,    
00836     tag_t*              item    
00837     );
00838 
00843 extern TCCORE_API int ITEM_copy_rev_using(
00844     tag_t                   rev,                
00845     const char              *new_rev_id,        
00846     const int               option_count,       
00847     ITEM_deepcopy_info_t*   user_options,       
00848     tag_t                   *new_rev,           
00849     int*                    count,              
00850     tag_t**                 deep_copied_objects 
00851     );
00852 
00857 extern TCCORE_API int ITEM_copy_rev(
00858     tag_t               rev,            
00859     const char*         new_rev_id,     
00860     tag_t*              new_rev_tag     
00861     );
00862 
00869 extern TCCORE_API int ITEM_copy_rev_with_master(
00870     tag_t       rev,                      
00871     const char* new_rev_id,               
00872     tag_t       item_rev_master_form_tag, 
00874     tag_t*      new_rev_tag               
00875     );
00876 
00893 extern TCCORE_API int ITEM_baseline_rev(
00894     tag_t               rev,                    
00895     const char*         new_rev_id,             
00896     const char*         desc,                   
00897     const char*         rel_proc_name,          
00899     const char*         jobName,                
00900     const char*         jobDescription,         
00901     tag_t*              new_rev_tag,            
00902     int*                deepCopiedObjCount,     
00903     tag_t**             deepCopiedObjs          
00904     );
00905 
00913 extern TCCORE_API int ITEM_dryrun_baseline( tag_t      rev, 
00914                        const char *rel_proc_name,             
00915                        char **logFileName,                    
00916                        char **fullLogFileName                 
00917                      );
00918 
00924 extern TCCORE_API int ITEM_rev_find_base_rev(
00925     tag_t               baseline_rev,   
00926     tag_t*              base_rev        
00927     );
00928 
00935 extern TCCORE_API int ITEM_rev_list_baselineRevs(
00936     tag_t               base_rev,               
00937     const char*         baselineStatusName,     
00939     int*                n_revs,                 
00940     tag_t**             baseline_revs           
00941     );
00942 
00953 extern TCCORE_API int ITEM_attach_rev_object(
00954     tag_t                  rev,             
00957     tag_t                  object,          
00958     ITEM_attachment_type_t attachment_type  
00959     );
00960 
00969 extern TCCORE_API int ITEM_detach_rev_object(
00970     tag_t                  rev,             
00971     tag_t                  object,          
00972     ITEM_attachment_type_t attachment_type  
00973     );
00974 
00978 extern TCCORE_API int ITEM_rev_list_bom_view_revs(
00979     tag_t               rev,    
00980     int*                count,  
00981     tag_t**             bvrs    
00982     );
00983 
00988 extern TCCORE_API int ITEM_rev_list_all_bom_view_revs(
00989     tag_t               rev,    
00990     int*                count,  
00991     tag_t**             bvrs    
00992     );
00993 
00999 extern TCCORE_API int ITEM_rev_delete_bvr(
01000     tag_t  rev,    
01001     tag_t  bvr     
01002     );
01003 
01012 extern TCCORE_API int ITEM_list_rev_attachs_of_type(
01013     tag_t                    rev,               
01014     ITEM_attachment_type_t   relation_type,     
01015     int*                     count,             
01016     ITEM_attached_object_t** objects            
01017     );
01018 
01028 extern TCCORE_API int ITEM_list_all_rev_attachments(
01029     tag_t                    rev,       
01030     int*                     count,     
01031     ITEM_attached_object_t** objects    
01032     );
01033 
01045 extern TCCORE_API int ITEM_update_rev_attachment(
01046     tag_t                  rev,                 
01047     tag_t                  old_object,          
01048     ITEM_attachment_type_t attachment_type,     
01049     tag_t                  new_object           
01050     );
01051 
01062 extern TCCORE_API int ITEM_ask_rev_id(
01063     tag_t               rev,                        
01064     char                rev_id[ITEM_id_size_c + 1]  
01065     );
01066 
01074 extern TCCORE_API int ITEM_ask_rev_id2(
01075     tag_t               rev,                        
01076     char                **rev_id                    
01077     );
01078 
01086 extern TCCORE_API int ITEM_set_rev_id(
01087     tag_t               rev,    
01088     const char*         rev_id  
01089     );
01090 
01097 extern TCCORE_API int ITEM_ask_rev_name(
01098     tag_t               rev,                            
01099     char                rev_name[ITEM_name_size_c + 1]  
01100     );
01101 
01105 extern TCCORE_API int ITEM_ask_rev_name2(
01106     tag_t               rev,                            
01107     char                **rev_name                      
01108     );
01109 
01113 extern TCCORE_API int ITEM_set_rev_name(
01114     tag_t               rev,        
01115     const char*         rev_name    
01116     );
01117 
01124 extern TCCORE_API int ITEM_ask_rev_description(
01125     tag_t               rev,                            
01126     char                rev_desc[ITEM_desc_size_c + 1]  
01127     );
01128 
01132 extern TCCORE_API int ITEM_ask_rev_description2(
01133     tag_t               rev,                            
01134     char                **rev_desc                      
01135     );
01136 
01140 extern TCCORE_API int ITEM_set_rev_description(
01141     tag_t               rev,        
01142     const char*         rev_desc    
01143     );
01144 
01151 extern TCCORE_API int ITEM_ask_rev_type(
01152     tag_t               rev,                            
01153     char                rev_type[ITEM_type_size_c + 1]  
01154     );
01155 
01159 extern TCCORE_API int ITEM_ask_rev_type2(
01160     tag_t               rev,                            
01161     char                **rev_type                      
01162     );
01163 
01167 extern TCCORE_API int ITEM_ask_rev_variants(
01168     tag_t               rev,                        
01169     tag_t*              variant_expression_block    
01170     );
01171 
01176 extern TCCORE_API int ITEM_set_rev_variants(
01177     tag_t               rev,                        
01178     tag_t               variant_expression_block    
01179     );
01180 
01181 extern TCCORE_API int ITEM_create_ic_baseline_rev(
01182     tag_t               rev,                
01183     tag_t               bom_window,         
01184     const char*         copy_rules_key,     
01185     const char*         name,               
01186     const char*         desc,               
01187     const char*         id,                 
01188     const char*         rev_id,             
01189     tag_t*              new_rev             
01190     );
01191 
01202 extern TCCORE_API int ITEM_perform_deepcopy(
01203     tag_t               new_item_rev ,      
01204     char*               operation,          
01207     tag_t               parent_item_rev,    
01208     int*                count,              
01209     tag_t**             deepcopiedobjects   
01210     );
01211 
01212 extern TCCORE_API int ITEM_perform_deepcopy_using2(
01213     tag_t               new_item_rev ,      
01214     char*               operation,          
01217     tag_t               parent_item_rev,    
01218     const int           option_count,       
01219     const tag_t         *obj_tags,          
01220     const char**        copy_types,         
01221     const char**        obj_names,          
01222     const char**        relation_types,     
01223     const char**      copy_relations,     
01224     int*                count,              
01225     tag_t**             deepcopiedobjects   
01226     );
01227 
01230 extern TCCORE_API int ITEM_perform_deepcopy_using(
01231     tag_t               new_item_rev ,      
01232     char*               operation,          
01235     tag_t               parent_item_rev,    
01236     const int           option_count,       
01237     const tag_t         *obj_tags,          
01238     const char**        copy_option,        
01239     const char**        option_names,        
01240     const char**        relation_types,      
01241     int*                count,              
01242     tag_t**             deepcopiedobjects   
01243     );
01244 
01254 extern TCCORE_API int ITEM_translate_rev_mvl(
01255     tag_t               from_rev,       
01256     tag_t               to_rev,         
01257     int                 n_modules,      
01258     char**              from_modules,   
01259     char**              to_modules      
01260     );
01261 
01262 extern TCCORE_API int ITEM_rev_ask_effectivity_mappings(
01263     tag_t itemrev,                         
01264     int *n,                                
01265     tag_t **mappings                       
01266     );
01267 
01268 typedef struct ITEM_attached_object_tag_s
01269 {
01270     tag_t attachment;
01271     tag_t attachment_type;
01272 } ITEM_attached_object_tag_t;
01273 
01280 extern TCCORE_API int ITEM_attach_object_tag(
01281     tag_t               item,               
01282     tag_t               object,             
01283     tag_t               attachment_type     
01284     );
01285 
01292 extern TCCORE_API int ITEM_detach_object_tag(
01293     tag_t               item,               
01294     tag_t               object,             
01295     tag_t               attachment_type     
01296     );
01297 
01304 extern TCCORE_API int ITEM_attach_rev_object_tag(
01305     tag_t               rev,                
01306     tag_t               object,             
01307     tag_t               attachment_type     
01308     );
01309 
01316 extern TCCORE_API int ITEM_detach_rev_object_tag(
01317     tag_t               rev,                
01318     tag_t               object,             
01319     tag_t               attachment_type     
01320     );
01321 
01327 extern TCCORE_API int ITEM_ask_attachment_name(
01328     tag_t               attachment_type,    
01329     char**              name                
01330     );
01331 
01339 extern TCCORE_API int ITEM_list_attachs_of_type_tag(
01340     tag_t               item,               
01341     tag_t               attachment_type,    
01342     int*                count,              
01343     tag_t**             tag_list            
01344     );
01345 
01353 extern TCCORE_API int ITEM_list_all_attachments_tag(
01354     tag_t                        item,      
01355     int*                         count,     
01356     ITEM_attached_object_tag_t** objects    
01357     );
01358 
01365 extern TCCORE_API int ITEM_list_possible_attachments_tag(
01366     const char*         obj_type,           
01367     int*                count,              
01368     tag_t**             attachment_types    
01369     );
01370 
01382 extern TCCORE_API int ITEM_rev_create_gde_bvr (
01383     tag_t               item_rev_tag,   
01384     tag_t               view_type,      
01385     tag_t*              gde_bvr_tag     
01386     );
01387 
01391 extern TCCORE_API int ITEM_rev_ask_gde_bvr (
01392     tag_t               item_rev_tag,   
01393     tag_t               view_type,      
01394     tag_t*              gde_bvr_tag     
01396     );
01397 
01398 
01402 extern TCCORE_API int ITEM_ask_has_module(
01403     tag_t               item,       
01404     logical*            is_module   
01405     );
01406 
01410 extern TCCORE_API int ITEM_rev_ask_has_module(
01411     tag_t               item_rev,       
01412     logical*            is_module   
01413     );
01422 extern TCCORE_API int ITEM_ask_is_vi(
01423     tag_t               item,   
01424     logical*            is_vi   
01425     );
01426 
01431 extern TCCORE_API int ITEM_vi_ask_sos(
01432     tag_t               item,       
01433     tag_t*              db_sos      
01435     );
01436 
01441 extern TCCORE_API int ITEM_vi_ask_generic_component(
01442     tag_t               item,               
01443     tag_t*              module_item_rev     
01445     );
01446 
01452 extern TCCORE_API int ITEM_vi_ask_is_linked_to_generic(
01453     tag_t               item,       
01454     logical*            is_linked   
01457     );
01458 
01471 extern TCCORE_API int ITEM_vi_unlink_from_generic(
01472     tag_t               item    
01473     );
01474 
01480 extern TCCORE_API int ITEM_vi_find(
01481     tag_t               generic_item_rev,   
01482     int                 n,                  
01484     tag_t*              items,              
01485     char**              options,            
01486     int*                ops,                
01497     int*                valueTypes,         
01502     char**              lowValues,          
01504     char**              highValues,         
01505     int*                n_matches,          
01506     tag_t**             matches             
01507     );
01508 
01516 extern TCCORE_API int ITEM_find_in_idcontext (
01517     const char*         id,             
01518     tag_t               idcontext_tag,  
01519     int*                num_items,      
01520     tag_t**             item_tags       
01521     );
01522 
01526 extern TCCORE_API int ITEM_find_item_in_idcontext (
01527     const char*         id,             
01528     tag_t               idcontext_tag,  
01529     tag_t*              item_tag        
01530     );
01531 
01537 extern TCCORE_API int ITEM_find_revs_in_idcontext (
01538     const char*         id,             
01539     const char*         rev_id,         
01540     tag_t               idcontext_tag,  
01541     int*                num_revs,       
01542     tag_t**             rev_tags        
01543     );
01544 
01551 extern TCCORE_API int ITEM_id_exists(
01552     const char*         id,         
01553     logical*            verdict     
01554     );
01555 
01562 extern TCCORE_API int ITEM_id_owners (
01563     const char*         id,         
01564     int*                num_objs,   
01565     tag_t**             obj_tags    
01566     );
01567 
01573 extern TCCORE_API void ITEM_free_exclude_list();
01574 
01575 extern TCCORE_API void ITEM_build_exclude_list(
01576     int                  array_length,  
01577     tag_t*               exclude_array  
01578     );
01579 
01580 extern TCCORE_API void ITEM_get_exclude_list(
01581     int*                 count,         
01582     tag_t**              exclude_list   
01583     );
01584 
01592 extern TCCORE_API int ITEM_ask_master_form_type(
01593     const char * itemType,    
01594     char ** formType          
01595     );
01596 
01600 extern TCCORE_API int ITEM_ask_rev_master_form_type(
01601     const char * itemType,    
01602     char ** formType          
01603     );
01604 
01605 extern TCCORE_API int ITEM_rev_vi_rev_find
01606     ( tag_t generic_item_rev,      /* (I) */
01607       int n,                       /* (I) */
01608       tag_t *items,                /* (I) n */
01609       char **options,              /* (I) n */
01610       int *ops,                    /* (I) n */
01611       int *valueTypes,             /* (I) n */
01612       char **lowValues,            /* (I) n */
01613       char **highValues,           /* (I) n */
01614       int *n_matches,              /* (O) */
01615       tag_t **matches              /* (OF) n_matches */
01616     );
01617 
01618 extern TCCORE_API int ITEM_vi_rev_ask_linked_generic_component
01619     ( tag_t         variant_item_rev,               /* <I> */
01620       tag_t*        module_item_rev     /* <O> */
01621     );
01622 
01623 extern TCCORE_API int ITEM_rev_vi_revise_and_update
01624     ( tag_t         bom_line,           /* <I> */
01625       tag_t         generic_item_rev,   /* <I> */
01626       tag_t         old_variant_item_rev,   /* <I> */
01627       tag_t*        new_variant_item_rev     /* <O> */
01628     );
01629 
01633 extern TCCORE_API int ITEM_ask_has_global_alternates
01634 (
01635     tag_t    item,                 
01636     logical* has_global_alternates 
01637 );
01638 
01639 
01640 extern TCCORE_API int ITEM_rev_sequence_make_immune (
01641   tag_t   item_rev_tag /*<I> */
01642   );
01643 
01644 extern TCCORE_API int ITEM_rev_purge_sequences (
01645   tag_t   item_rev_tag /*<I>*/
01646   );
01647 
01648 extern TCCORE_API int ITEM_rev_sequence_is_latest (
01649    tag_t         item_rev_tag,    /* <I> */
01650    logical*      is_latest        /* <O> */
01651   );
01652 
01653 extern TCCORE_API int ITEM_rev_sequence_remove_immunity (
01654   tag_t   item_rev_tag /*<I>*/
01655   );
01656 
01657 extern TCCORE_API int ITEM_rev_restore_previous_sequence (
01658   tag_t   item_rev_tag /*<I>*/
01659   );
01660 
01664 extern TCCORE_API int ITEM_list_related_global_alternates
01665 (
01666     tag_t    item,           
01667     int*     n_objs,         
01668     tag_t**  related_objs    
01669 );
01670 
01671 extern TCCORE_API int ITEM_add_related_global_alternates
01672 (
01673     tag_t    item,           
01674     int      n_objs,         
01675     tag_t*   added_objs      
01676 );
01677 
01678 extern TCCORE_API int ITEM_remove_related_global_alternates
01679 (
01680     tag_t    item,           
01681     int      n_objs,         
01682     tag_t*   removed_objs    
01683 );
01684 
01689 extern TCCORE_API int ITEM_prefer_global_alternate
01690 (
01691     tag_t    item,           
01692     tag_t    preferred_item  
01693 );
01694 
01699 extern TCCORE_API int ITEM_rev_has_been_baselined_during_current_operation
01700     ( tag_t          item_rev,            
01701       logical        *verdict,            
01702       tag_t          *new_item_rev        
01703     );
01704 
01705 extern TCCORE_API int ITEM_rev_set_participants
01706 (
01707     tag_t item_rev,                     
01708     int participant_count,              
01709     tag_t * participant_list            
01710 );
01711 
01712 extern TCCORE_API int ITEM_rev_ask_participants
01713 (
01714     tag_t item_rev,                     
01715     tag_t participant_type,             
01716     int * participant_count,            
01717     tag_t ** participant_list           
01718 );
01719 
01720 extern TCCORE_API int ITEM_rev_add_participant
01721 (
01722     tag_t item_rev,                     
01723     tag_t participant                   
01724 );
01725 
01726 extern TCCORE_API int ITEM_rev_remove_participant
01727 (
01728     tag_t item_rev,                     
01729     tag_t participant                   
01730 );
01731 
01732 
01733 extern TCCORE_API int ITEM_rev_rename_cad_file
01734 (
01735     logical *status                   
01736 );
01737 
01738 extern TCCORE_API int ITEM_rev_get_cloned_item_rev
01739 (
01740     tag_t old_item_rev,                 
01741     tag_t *cloned_item_rev              
01742 );
01743 
01748 extern TCCORE_API int ITEM_is_product_item
01749 (
01750     tag_t          item,                
01751     logical*       is_product_item      
01752 );
01753 
01757 extern TCCORE_API int ITEM_new_revision_id
01758 (
01759     tag_t item,      
01760     tag_t item_type, 
01761     logical* mod,    
01764     char** id        
01765 );
01766 
01767 extern TCCORE_API int ITEM_rev_is_immune
01768 (
01769     tag_t        itemRevisionTag,        
01770     logical*    isImmune                
01771 );
01772 #ifdef __cplusplus
01773 }
01774 #endif
01775 
01776 #include <tccore/libtccore_undef.h>
01777 
01778 #endif