ITK Function Reference

(V10000.1.0.60_20160308.00)
bom.h
Go to the documentation of this file.
1 /*==============================================================================
2  Copyright 2007 UGS Corp. All Rights Reserved.
3  ==============================================================================*/
4 
58 /* */
59 
60 #ifndef BOM_H_INCLUDED
61 #define BOM_H_INCLUDED
62 
63 #include <bom/bom_attr.h>
64 #include <bom/bom_errors.h>
65 #include <bom/bom_tokens.h>
66 #include <bom/bomwriter.h>
67 #include <bom/bomove_errors.h>
68 #include <fclasses/tc_basic.h>
69 #include <rdv/rdv.h>
70 #include <tccore/workspaceobject.h>
71 #include <bom/libbom_exports.h>
72 
73 #ifdef __cplusplus
74 extern "C"
75 {
76 #endif
77 
78 /*================================================================================================*/
79 /* END OF HEADER */
80 
127 extern BOM_API int BOM_init_module( void );
128 
131 extern BOM_API int BOM_exit_module( void );
132 
141 extern BOM_API int BOM_create_window(
142  tag_t* window
143  );
144 
151 extern BOM_API int BOM_close_window(
152  tag_t window
153  );
154 
158 extern BOM_API int BOM_refresh_window(
159  tag_t window
160  );
161 
168 extern BOM_API int BOM_ask_window_config_rule(
169  tag_t window,
170  tag_t* config_rule
171  );
172 
180 extern BOM_API int BOM_set_window_config_rule(
181  tag_t window,
182  tag_t config_rule
183  );
184 
192 extern BOM_API int BOM_set_window_pack_all(
193  tag_t window,
194  logical pack_all
195  );
196 
204 extern BOM_API int BOM_window_ask_state_logical(
205  tag_t window,
206  int state,
207  logical* answer
208  );
209 
216 extern BOM_API int BOM_set_window_top_line(
217  tag_t window,
218  tag_t item,
219  tag_t item_revision,
220  tag_t bv,
221  tag_t* top_bom_line
222  );
223 
229 extern BOM_API int BOM_set_window_top_line_using_occgrp(
230  tag_t window,
231  tag_t occGrp,
232  tag_t* top_bom_line
233  );
234 
240 extern BOM_API int BOM_set_window_top_line_using_proxy(
241  tag_t window,
242  tag_t proxy,
243  tag_t* top_bom_line
244  );
245 
250 extern BOM_API int BOM_set_window_top_line_bvr(
251  tag_t window,
252  tag_t bvr,
253  tag_t* top_bom_line
254  );
255 
259 extern BOM_API int BOM_ask_window_top_line(
260  tag_t window,
261  tag_t* top_bom_line
262  );
263 
269  tag_t bom_window,
270  logical* ignore
271  );
272 
274  tag_t bom_window,
275  logical ignore
276  );
277 
288 extern BOM_API int BOM_ask_window_ove_message_error_level(
289  tag_t bom_window,
290  int* level
291  );
292 
293 extern BOM_API int BOM_set_window_ove_message_error_level(
294  tag_t bom_window,
295  int level
296  );
297 
298 extern BOM_API int BOM_ask_window_active_arrangement(
299  tag_t bom_window,
300  tag_t* arrangement
301  );
302 
303 extern BOM_API int BOM_set_window_active_arrangement(
304  tag_t bom_window,
305  tag_t arrangement
306  );
307 
308 extern BOM_API int BOM_set_window_ignore_arrangements(
309  tag_t bom_window,
310  logical ignore
311  );
312 
313 extern BOM_API int BOM_line_ask_used_arrangement(
314  tag_t bomline,
315  tag_t *arrangement
316  );
317 
321 extern BOM_API int BOM_window_ask_effectivity_grprevs(
322  tag_t window,
323  int* count,
324  tag_t** effGrpRevList
325  );
326 
330 extern BOM_API int BOM_window_set_effectivity_grprevs(
331  tag_t window,
332  int n_effrevs,
333  tag_t * effGrpRevList
334  );
335 
340 extern BOM_API int BOM_window_ask_is_modified(
341  tag_t window,
342  logical* is_modified
343  );
344 
351 extern BOM_API int BOM_save_window(
352  tag_t window
353  );
354 
361 extern BOM_API int BOM_window_revert_all_pending_edits(
362  tag_t window
363  );
364 
371 extern BOM_API int BOM_line_revert_pending_edits(
372  int bom_line_count,
373  tag_t* bom_lines
374  );
375 
388 extern BOM_API int BOM_set_window_sort_compare_fn(
389  tag_t window,
390  void* function,
391  void* client_data
393  );
394 
407 extern BOM_API int BOM_line_ask_child_lines(
408  tag_t bom_line,
409  int* count,
410  tag_t** children
411  );
412 
416 extern BOM_API int BOM_line_ask_all_child_lines(
417  tag_t bom_line,
418  int* count,
419  tag_t** children
420  );
421 
425 extern BOM_API int BOM_line_subset_child_lines_occs(
426  tag_t bom_line,
427  int n_occs,
428  const tag_t * occs,
429  int * n_child_lines,
430  tag_t ** children
431  );
432 
437 extern BOM_API int BOM_line_subset_child_lines_occ_notes(
438  tag_t bom_line,
439  tag_t occ_note_type,
440  int n_note_patterns,
441  const char ** notes_patterns,
442  int * n_child_lines,
443  tag_t ** children
444  );
445 
451 extern BOM_API int BOM_line_ask_remote_object(
452  tag_t bom_line,
453  tag_t* remote_object
454  );
455 
466 extern BOM_API int BOM_line_get_remote_children(
467  tag_t bom_line,
468  int* n_remote,
469  tag_t** remote_children
470  );
471 
476 extern BOM_API int BOM_line_cut(
477  tag_t bom_line
478  );
479 
483 extern BOM_API int BOM_line_move_to(
484  tag_t new_parent,
485  int count,
486  tag_t *bom_lines
487  );
488 
492 extern BOM_API int BOM_line_remove_level(
493  int count,
494  tag_t *bom_lines
495  );
496 
500 extern BOM_API int BOM_line_split_occurrence(
501  const char * quantity,
502  tag_t bom_line
503  );
504 
508 extern BOM_API int BOM_line_replace_in_context(
509  tag_t bom_line,
510  tag_t item_rev
511  );
512 
516 extern BOM_API int BOM_line_insert_level(
517  int count,
518  tag_t *bom_lines,
519  tag_t item,
520  tag_t view_type
521  );
522 
527 extern BOM_API int BOM_line_copy(
528  tag_t new_parent,
529  tag_t to_be_copied,
530  tag_t view_type,
531  tag_t *new_line
532  );
533 
537 extern BOM_API int BOM_line_fix_broken_links(
538  int count,
539  const tag_t * broken_links,
540  const tag_t * candidate_lines
541  );
542 
546 extern BOM_API int BOM_line_find_broken_links(
547  tag_t bom_line,
548  logical quick_search,
549  int * count,
550  tag_t ** broken_links
551  );
552 
556 extern BOM_API int BOM_line_resequence(
557  tag_t bom_line,
558  int start_number,
559  int incre_number,
560  logical recursive
561  );
562 
563 /*----------------------------------------------------------------------------*/
567 extern BOM_API int BOM_line_unload_below(
568  tag_t line
569  );
570 
577 extern BOM_API int BOM_line_add(
578  tag_t bom_line,
579  tag_t item_folder,
580  tag_t item_revision_folder,
581  tag_t bv,
582  tag_t* new_line
583  );
584 
591 extern BOM_API int BOM_line_add_with_occ_type(
592  tag_t bom_line,
593  tag_t item_folder,
594  tag_t item_revision_folder,
595  tag_t bv,
596  char* occType,
597  tag_t* new_line
598  );
599 
603 extern BOM_API int BOM_line_add_gde(
604  tag_t bomline,
605  tag_t childGDE,
606  char* occType,
607  tag_t* newLine
608  );
609 
628 extern BOM_API int BOM_line_add_predecessor(
629  tag_t bom_line,
630  tag_t predline
631  );
632 
643 extern BOM_API int BOM_line_remove_predecessor(
644  tag_t bom_line,
645  tag_t predline
646  );
647 
655 extern BOM_API int BOM_line_replace(
656  tag_t bom_line,
657  tag_t item_folder,
658  tag_t item_revision_folder,
659  tag_t bv
662  );
663 
671 extern BOM_API int BOM_line_change_to_replace
672  ( tag_t deletedBOMLine,
673  tag_t addedBOMLine
674  );
675 
676 
677 extern BOM_API int BOM_line_is_replaceable(
678  tag_t bom_line,
679  logical* verdict
680  );
681 
686 extern BOM_API int BOM_line_set_precise(
687  tag_t bom_line,
688  logical precise
689  );
690 
700 extern BOM_API int BOM_line_pack(
701  tag_t bom_line
702  );
703 
708 extern BOM_API int BOM_line_unpack(
709  tag_t bom_line
710  );
711 
712 extern BOM_API int BOM_line_is_packed(
713  tag_t bom_line,
714  logical* verdict
715  );
716 
720 extern BOM_API int BOM_line_replace_gde(
721  tag_t gde_line,
722  tag_t new_gde
723  );
724 
745 extern BOM_API int BOM_set_pack_compare(
746  void* function
747  );
748 
766 extern BOM_API int BOM_line_ask_packed_lines(
767  tag_t bom_line,
768  int* count,
769  tag_t** packed
770  );
771 
775 extern BOM_API int BOM_line_list_predecessors(
776  tag_t bom_line,
777  int* count,
778  tag_t** pred
779  );
780 
784 extern BOM_API int BOM_line_ask_window(
785  tag_t bom_line,
786  tag_t* window
787  );
788 
795 extern BOM_API int BOM_line_ask_load_state(
796  tag_t bom_line,
797  int* load_state
798  );
799 
811 extern BOM_API int BOM_line_list_attributes(
812  int* count,
813  int** attributes
814  );
815 
819 extern BOM_API int BOM_line_look_up_attribute(
820  const char* attribute_name,
821  int* attribute
822  );
823 
827 extern BOM_API int BOM_line_look_up_inherited_attr(
828  const char* class_name,
829  const char* attribute_name,
830  int* attribute
831  );
832 
839 extern BOM_API int BOM_line_ask_attribute_name(
840  int attribute,
841  char** attribute_name
842  );
843 
850 extern BOM_API int BOM_line_ask_attribute_uname(
851  int attribute,
852  char** attribute_user_name
853  );
854 
862 extern BOM_API int BOM_line_ask_attribute_mode(
863  int attribute,
864  int* attribute_mode
865  );
866 
874 extern BOM_API int BOM_line_ask_attribute_ro(
875  int attribute,
876  logical* attribute_is_read_only
877  );
878 
882 extern BOM_API int BOM_line_set_attribute_int(
883  tag_t bom_line,
884  int attribute,
885  int value
886  );
887 
891 extern BOM_API int BOM_line_ask_attribute_int(
892  tag_t bom_line,
893  int attribute,
894  int* value
895  );
896 
900 extern BOM_API int BOM_line_set_attribute_logical(
901  tag_t bom_line,
902  int attribute,
903  logical value
904  );
905 
909 extern BOM_API int BOM_line_ask_attribute_logical(
910  tag_t bom_line,
911  int attribute,
912  logical* value
913  );
914 
918 extern BOM_API int BOM_line_set_attribute_tag(
919  tag_t bom_line,
920  int attribute,
921  tag_t value
922  );
923 
927 extern BOM_API int BOM_line_ask_attribute_tag(
928  tag_t bom_line,
929  int attribute,
930  tag_t* value
931  );
932 
936 extern BOM_API int BOM_line_set_attribute_string(
937  tag_t bom_line,
938  int attribute,
939  const char* value
940  );
941 
945 extern BOM_API int BOM_line_ask_attribute_string(
946  tag_t bom_line,
947  int attribute,
948  char** value
949  );
950 
954 extern BOM_API int BOM_line_set_attribute_double(
955  tag_t bom_line,
956  int attribute,
957  double value
958  );
959 
963 extern BOM_API int BOM_line_ask_attribute_double(
964  tag_t bom_line,
965  int attribute,
966  double* value
967  );
968 
983 extern BOM_API int BOM_update_pse(
984  tag_t bvr
985  );
986 
991 extern BOM_API int BOM_modified_bvr(
992  tag_t line
993  );
994 
1007 extern BOM_API int BOM_line_ask_has_substitutes(
1008  tag_t bom_line,
1009  logical* has_substitutes
1010  );
1011 
1015 extern BOM_API int BOM_line_ask_is_substitute(
1016  tag_t bom_line,
1017  logical* is_substitute
1018  );
1019 
1023 extern BOM_API int BOM_line_show_substitutes(
1024  tag_t bom_line
1025  );
1026 
1030 extern BOM_API int BOM_line_hide_substitutes(
1031  tag_t bom_line
1032  );
1033 
1037 extern BOM_API int BOM_line_list_substitutes(
1038  tag_t bom_line,
1039  int* n_substitutes,
1040  tag_t** substitute_lines
1041  );
1042 
1049 extern BOM_API int BOM_line_add_substitute(
1050  tag_t bom_line,
1051  tag_t item,
1052  tag_t item_revision,
1053  tag_t bom_view,
1054  tag_t* new_line
1055  );
1056 
1063 extern BOM_API int BOM_line_prefer_substitute(
1064  tag_t bom_line,
1065  logical* is_temporary
1066  );
1067 
1071 extern BOM_API int BOM_window_show_substitutes(
1072  tag_t bom_window
1073  );
1074 
1078 extern BOM_API int BOM_window_hide_substitutes(
1079  tag_t bom_window
1080  );
1081 
1103 extern BOM_API int BOM_window_ask_vrule(
1104  tag_t bom_window,
1105  tag_t* vrule,
1106  logical* modified
1109  );
1110 
1119 extern BOM_API int BOM_window_ask_vrules(
1120  tag_t window,
1121  int* count,
1122  tag_t** variant_rules,
1123  logical** modified
1125  );
1126 
1131 extern BOM_API int BOM_window_apply_full_vrule(
1132  tag_t bom_window,
1133  tag_t vrule
1134  );
1135 
1141 extern BOM_API int BOM_window_apply_partial_vrule(
1142  tag_t bom_window,
1143  tag_t vrule
1144  );
1145 
1146 
1157 extern BOM_API int BOM_window_apply_overlay_variant_rules(
1158  tag_t window,
1159  int svr_count,
1160  tag_t* svr_list,
1161  int svr_mode,
1167  int* count,
1168  tag_t** variant_rule_list
1169  );
1170 
1175 extern BOM_API int BOM_window_show_variants(
1176  tag_t bom_window
1177  );
1178 
1185 extern BOM_API int BOM_window_hide_variants(
1186  tag_t bom_window
1187  );
1188 
1201 extern BOM_API int BOM_create_option(
1202  tag_t owning_item,
1203  const char* name,
1204  const char* description,
1205  int mode,
1207  tag_t* option,
1208  tag_t* option_rev
1209  );
1210 
1221 extern BOM_API int BOM_new_option(
1222  tag_t itemrev,
1224  const char* optname,
1225  const char* optdesc,
1226  int mode,
1227  tag_t* option,
1228  tag_t* optionrev,
1229  tag_t* ve,
1230  tag_t* veb
1232  );
1233 
1237 extern BOM_API int BOM_declare_option(
1238  tag_t itemrev,
1239  tag_t optionrev,
1240  tag_t* ve,
1241  tag_t* veb
1243  );
1244 
1248 extern BOM_API int BOM_ask_option_data(
1249  tag_t option,
1250  tag_t* owning_item,
1251  char** name,
1252  char** description
1253  );
1254 
1260 extern BOM_API int BOM_option_where_declared(
1261  const char* item,
1262  const char* option,
1263  int* count,
1264  tag_t** item_revs
1265  );
1266 
1272 extern BOM_API int BOM_option_where_used(
1273  const char* item,
1274  const char* option,
1275  int* count,
1276  tag_t** objs
1277  );
1278 
1286 extern BOM_API int BOM_set_option_data(
1287  tag_t option,
1288  const char* name,
1289  const char* description
1290  );
1291 
1299 extern BOM_API int BOM_revise_option(
1300  tag_t revision_in,
1301  tag_t* new_revision
1302  );
1303 
1311 extern BOM_API int BOM_ask_option_rev_mode(
1312  tag_t option_rev,
1313  int* mode
1314  );
1315 
1319 extern BOM_API int BOM_ask_option_of_rev(
1320  tag_t option_rev,
1321  tag_t* option
1322  );
1323 
1329 extern BOM_API int BOM_list_option_rev_values(
1330  tag_t option_rev,
1331  int* n_values,
1332  int** indexes
1333  );
1334 
1338 extern BOM_API int BOM_ask_option_rev_value(
1339  tag_t option_rev,
1340  int an_index,
1341  char** value
1342  );
1343 
1347 extern BOM_API int BOM_set_option_rev_value(
1348  tag_t option_rev,
1349  int an_index,
1350  const char* value
1351  );
1352 
1356 extern BOM_API int BOM_add_option_rev_value(
1357  tag_t option_rev,
1358  const char* value,
1359  int* an_index
1360  );
1361 
1365 extern BOM_API int BOM_remove_option_rev_value(
1366  tag_t option_rev,
1367  int an_index
1368  );
1369 
1377 extern BOM_API int BOM_ask_index_of_opt_rev_value(
1378  tag_t option_rev,
1379  const char* value,
1380  int* an_index
1381  );
1382 
1386 extern BOM_API int BOM_window_ask_options(
1387  tag_t window,
1388  int* n_options,
1389  tag_t** options,
1390  tag_t** option_revisions
1391  );
1392 
1402 extern BOM_API int BOM_window_set_option_value(
1403  tag_t window,
1404  tag_t option,
1405  int value
1407  );
1408 
1409 
1421 extern BOM_API int BOM_window_set_option_values(
1422  tag_t window,
1423  tag_t option,
1424  int value_count,
1425  int* values
1427  );
1428 
1432 extern BOM_API int BOM_window_unset_option_value(
1433  tag_t window,
1434  tag_t option
1435  );
1436 
1445 extern BOM_API int BOM_window_ask_option_value(
1446  tag_t window,
1447  tag_t option,
1448  tag_t* option_rev,
1449  int* value,
1450  int* how_set,
1452  char** where_set
1455  );
1456 
1465 extern BOM_API int BOM_window_ask_option_values(
1466  tag_t window,
1467  tag_t option,
1468  tag_t* option_rev,
1469  int* count,
1470  int** values,
1471  int** how_sets,
1473  char*** where_sets
1476  );
1477 
1485 extern BOM_API int BOM_window_find_option(
1486  tag_t window,
1487  tag_t item,
1489  const char* option_name,
1490  tag_t* option,
1491  tag_t* option_rev
1493  );
1494 
1505 extern BOM_API int BOM_new_variant_expression(
1506  tag_t v1,
1507  int opcode,
1508  tag_t v2,
1509  const char* str,
1510  tag_t* expr
1511  );
1512 
1516 extern BOM_API int BOM_set_variant_expression(
1517  tag_t expr,
1518  tag_t v1,
1519  int opcode,
1520  tag_t v2,
1521  const char* str
1522  );
1523 
1527 extern BOM_API int BOM_ask_variant_expression(
1528  tag_t expr,
1529  tag_t* v1,
1530  int* opcode,
1531  tag_t* v2,
1532  char** str
1533  );
1534 
1538 extern BOM_API int BOM_variant_expression_as_text(
1539  tag_t expr,
1540  char** str
1541  );
1542 
1548 extern BOM_API int BOM_new_variant_e_block(
1549  tag_t* block
1550  );
1551 
1555 extern BOM_API int BOM_ask_variant_e_block(
1556  tag_t block,
1557  int* n,
1558  tag_t** exprs
1559  );
1560 
1564 extern BOM_API int BOM_set_variant_e_block(
1565  tag_t block,
1566  int n,
1567  const tag_t* exprs
1568  );
1569 
1574 extern BOM_API int BOM_line_ask_variant_e_block(
1575  tag_t line,
1576  tag_t* block
1577  );
1578 
1583 extern BOM_API int BOM_line_set_variant_e_block(
1584  tag_t line,
1585  tag_t block
1586  );
1587 
1591 extern BOM_API int BOM_variant_e_block_add(
1592  tag_t veb,
1593  tag_t ve
1594  );
1595 
1600 extern BOM_API int BOM_variant_e_block_remove(
1601  tag_t veb,
1602  tag_t ve
1603  );
1604 
1609 extern BOM_API int BOM_variant_e_block_replace(
1610  tag_t veb,
1611  tag_t veOut,
1612  tag_t veIn
1613  );
1614 
1632 extern BOM_API int BOM_window_ask_variant_rule(
1633  tag_t window,
1634  tag_t* bomvariantlist
1635  );
1636 
1637 
1647 extern BOM_API int BOM_window_ask_variant_rules(
1648  tag_t window,
1649  int* count,
1650  tag_t** bom_variant_rules
1651  );
1652 
1662 extern BOM_API int BOM_window_ask_varconfig_mode(
1663  tag_t window,
1664  int* var_config_mode
1671  );
1672 
1682 extern BOM_API int BOM_window_set_varconfig_mode(
1683  tag_t window,
1684  int var_config_mode
1691  );
1692 
1699 extern BOM_API int BOM_variant_rule_copy(
1700  tag_t src_bomvariantlist,
1702  tag_t dst_window,
1708  tag_t* dst_bomvariantlist
1709  );
1710 
1718 extern BOM_API int BOM_variant_rule_set_copy_action(
1719  int action
1729  );
1730 
1738 extern BOM_API int BOM_variant_rule_ask_copy_action(
1739  int* action
1749  );
1750 
1754 extern BOM_API int BOM_variant_rule_apply(
1755  tag_t bomvariantlist
1756  );
1757 
1763 extern BOM_API int BOM_variant_rule_apply_to(
1764  tag_t src_bomvariantlist,
1765  tag_t dst_bomvariantlist
1766  );
1767 
1772 extern BOM_API int BOM_variant_rule_delete(
1773  tag_t bomvariantlist
1774  );
1775 
1780 extern BOM_API int BOM_variant_rule_apply_full_vrule(
1781  tag_t bomvariantlist,
1782  tag_t vrule,
1783  logical* list_changed
1786  );
1787 
1792 extern BOM_API int BOM_variant_rule_apply_partial_vrule(
1793  tag_t bomvariantlist,
1794  tag_t vrule,
1795  logical* list_changed
1798  );
1799 
1803 extern BOM_API int BOM_variant_rule_ask_vrule(
1804  tag_t bomvariantlist,
1805  tag_t* vrule,
1807  logical* modified
1809  );
1810 
1818 extern BOM_API int BOM_variant_rule_find_option(
1819  tag_t bomvariantlist,
1820  tag_t item,
1823  const char* name,
1824  tag_t* option,
1825  tag_t* option_rev
1826  );
1827 
1840 extern BOM_API int BOM_variant_rule_find_options(
1841  tag_t bomvariantlist,
1843  tag_t item,
1845  const char* name,
1847  int* n_options,
1848  tag_t** options
1849  );
1850 
1854 extern BOM_API int BOM_variant_rule_ask_option_rev(
1855  tag_t bomvariantlist,
1856  tag_t option,
1857  tag_t* option_rev
1858  );
1859 
1863 extern BOM_API int BOM_variant_rule_ask_options(
1864  tag_t bomvariantlist,
1865  int* n,
1866  tag_t** options,
1867  tag_t** option_revs
1868  );
1869 
1878 extern BOM_API int BOM_variant_rule_set_option_value(
1879  tag_t bomvariantlist,
1880  tag_t option,
1881  int value
1883  );
1884 
1896 extern BOM_API int BOM_variant_rule_set_option_values(
1897  tag_t bom_variant_list,
1898  tag_t option,
1899  int value_count,
1900  int* values
1902  );
1903 
1913 extern BOM_API int BOM_variant_rule_ask_option_value(
1914  tag_t bomvariantlist,
1915  tag_t option,
1916  tag_t* option_rev,
1917  int* value,
1919  int* how_set,
1922  char** where_set
1927  );
1928 
1937 extern BOM_API int BOM_variant_rule_ask_option_values(
1938  tag_t bom_variant_list,
1939  tag_t option,
1940  tag_t* option_rev,
1941  int* count,
1942  int** values,
1944  int** how_sets,
1946  char*** where_sets
1951  );
1952 
1956 extern BOM_API int BOM_variant_rule_unset_option_value(
1957  tag_t bomvariantlist,
1958  tag_t option
1959  );
1960 
1964 extern BOM_API int BOM_variant_rule_unset_option_values(
1965  tag_t bomvariantlist,
1966  int n_options,
1967  tag_t* options
1968  );
1969 
1974 extern BOM_API int BOM_variant_rule_clear_option_values(
1975  tag_t bomvariantlist
1976  );
1977 
1990 extern BOM_API int BOM_variant_rule_evaluate(
1991  tag_t bomvariantlist
1992  );
1993 
2003 extern BOM_API int BOM_update_for_variants_on_occ(
2004  tag_t parent_bvr,
2005  tag_t occurrence
2006  );
2007 
2015 extern BOM_API int BOM_update_for_variants_on_itemrev(
2016  tag_t item_rev
2017  );
2018 
2027 extern BOM_API int BOM_update_for_variants_on_bomline(
2028  tag_t bomline
2029  );
2030 
2044 extern BOM_API int BOM_variant_new_clause_list(
2045  tag_t bom_window,
2046  tag_t* clause_list
2047  );
2048 
2055 extern BOM_API int BOM_variant_condition_to_clause_list(
2056  tag_t bom_window,
2057  tag_t condition_ve,
2058  tag_t* clause_list
2059  );
2060 
2066 extern BOM_API int BOM_variant_join_clause_list(
2067  tag_t clause_list,
2068  tag_t* conditon_ve
2069  );
2070 
2074 extern BOM_API int BOM_variant_delete_clause_list(
2075  tag_t clause_list
2076  );
2077 
2081 extern BOM_API int BOM_variant_clause_append(
2082  tag_t clause_list,
2083  int join,
2085  tag_t option,
2086  int op,
2089  const char* value
2092  );
2093 
2097 extern BOM_API int BOM_variant_clause_insert(
2098  tag_t clause_list,
2099  int pos,
2100  int join,
2102  tag_t option,
2103  int op,
2106  const char* value
2109  );
2110 
2114 extern BOM_API int BOM_variant_clause_replace(
2115  tag_t clause_list,
2116  int pos,
2118  int join,
2120  tag_t option,
2121  int op,
2124  const char* value
2127  );
2128 
2132 extern BOM_API int BOM_variant_clause_delete(
2133  tag_t clause_list,
2134  int n_clauses,
2135  int pos[]
2137  );
2138 
2146 extern BOM_API int BOM_variant_clause_move_up(
2147  tag_t clause_list,
2148  int n_clauses,
2149  int pos[]
2151  );
2152 
2160 extern BOM_API int BOM_variant_clause_move_down(
2161  tag_t clause_list,
2162  int n_clauses,
2163  int pos[]
2165  );
2166 
2172 extern BOM_API int BOM_variant_clause_toggle_brackets(
2173  tag_t clause_list,
2174  int n_clauses,
2175  int pos[]
2177  );
2178 
2182 extern BOM_API int BOM_variant_clause_list_size(
2183  tag_t clause_list,
2184  int* n_clauses
2185  );
2186 
2190 extern BOM_API int BOM_variant_clause_list_text(
2191  tag_t clause_list,
2192  int* n_clauses,
2194  char*** text
2195  );
2196 
2200 extern BOM_API int BOM_variant_clause_text(
2201  tag_t clause_list,
2202  int pos,
2204  char** text
2205  );
2206 
2210 extern BOM_API int BOM_variant_clause_details(
2211  tag_t clause_list,
2212  int pos,
2214  int* join,
2216  tag_t* option,
2217  int* op,
2220  char** value
2222  );
2223 
2229 extern BOM_API int BOM_variant_clause_valid_ops(
2230  tag_t clause_list,
2231  int n_clauses,
2232  int pos[],
2234  int* op_flags
2235  );
2236 
2252 extern BOM_API int BOM_variant_clause_validate_ops(
2253  tag_t clause_list,
2254  logical auto_validate
2256  );
2257 
2265 extern BOM_API int BOM_variant_expr_load_if(
2266  tag_t cond_ve,
2268  tag_t* load_if_ve
2270  );
2271 
2276 extern BOM_API int BOM_variant_expr_error_if(
2277  tag_t cond_ve,
2279  const char* warning_text,
2280  tag_t* error_if_ve
2282  );
2283 
2290 extern BOM_API int BOM_variant_expr_set_if(
2291  tag_t cond_ve,
2293  tag_t option,
2294  int value,
2295  tag_t* set_if_ve,
2297  tag_t* assign_ve
2298  );
2299 
2303 extern BOM_API int BOM_variant_expr_default(
2304  tag_t option,
2305  int value,
2306  tag_t* default_ve
2308  );
2309 
2314 extern BOM_API int BOM_variant_expr_split_load_if(
2315  tag_t load_if_ve,
2316  tag_t* cond_ve
2317  );
2318 
2324 extern BOM_API int BOM_variant_expr_split_error_if(
2325  tag_t error_if_ve,
2327  char** warning_text,
2328  tag_t* cond_ve
2329  );
2330 
2337 extern BOM_API int BOM_variant_expr_split_set_if(
2338  tag_t set_if_ve,
2340  tag_t* option,
2341  int* value,
2342  tag_t* cond_ve
2343  );
2344 
2348 extern BOM_API int BOM_variant_expr_split_default(
2349  tag_t default_ve,
2351  tag_t* option,
2352  int* value
2353  );
2354 
2406 extern BOM_API int BOM_line_ask_sos(
2407  tag_t bom_line,
2408  tag_t* sos
2409  );
2410 
2415 extern BOM_API int BOM_line_clear_sos(
2416  tag_t bom_line,
2417  logical doUpdates
2418  );
2419 
2428 extern BOM_API int BOM_sos_apply(
2429  tag_t sos,
2430  logical doUpdates
2431  );
2432 
2439 extern BOM_API int BOM_sos_apply_list(
2440  int count,
2441  tag_t* sos,
2442  logical doUpdates
2443  );
2444 
2449 extern BOM_API int BOM_sos_free(
2450  tag_t sos
2451  );
2452 
2457 extern BOM_API int BOM_window_ask_ove_messages(
2458  tag_t bom_window,
2459  int* count,
2460  int** severities,
2461  char*** messages,
2462  tag_t** lines
2463  );
2464 
2469 extern BOM_API int BOM_line_ove_validate(
2470  tag_t line,
2471  logical recurse,
2472  int* count,
2473  int** error_types,
2474  tag_t** lines,
2475  int** options
2476  );
2477 
2478 
2479 extern BOM_API int BOM_decompose_ove_path(
2480  const char* path,
2481  int* count,
2482  char*** pathElements
2483  );
2484 
2490 extern BOM_API int BOM_sos_ask_entries(
2491  tag_t sos,
2492  int* count,
2493  int** options,
2494  char*** paths
2495  );
2496 
2500 extern BOM_API int BOM_sos_ask_entry_int(
2501  tag_t sos,
2502  int option,
2503  const char* path,
2504  int* value,
2505  int* how_set
2506  );
2507 
2511 extern BOM_API int BOM_sos_ask_entry_double(
2512  tag_t sos,
2513  int option,
2514  const char* path,
2515  double* value,
2516  int* how_set
2517  );
2518 
2522 extern BOM_API int BOM_sos_ask_entry_logical(
2523  tag_t sos,
2524  int option,
2525  const char* path,
2526  logical* value,
2527  int* how_set
2528  );
2529 
2533 extern BOM_API int BOM_sos_ask_entry_display(
2534  tag_t sos,
2535  int option,
2536  const char* path,
2537  char** value,
2538  int* how_set
2539  );
2540 
2544 extern BOM_API int BOM_sos_set_entry_int(
2545  tag_t sos,
2546  int option,
2547  const char* path,
2548  int value,
2549  int how_set
2550  );
2551 
2555 extern BOM_API int BOM_sos_set_entry_double(
2556  tag_t sos,
2557  int option,
2558  const char* path,
2559  double value,
2560  int how_set
2561  );
2562 
2566 extern BOM_API int BOM_sos_set_entry_logical(
2567  tag_t sos,
2568  int option,
2569  const char* path,
2570  logical value,
2571  int how_set
2572  );
2573 
2577 extern BOM_API int BOM_sos_set_entry_string(
2578  tag_t sos,
2579  int option,
2580  const char* path,
2581  const char* value,
2582  int how_set
2583  );
2584 
2588 extern BOM_API int BOM_sos_unset_entry(
2589  tag_t sos,
2590  int option,
2591  const char* path
2592  );
2593 
2599 extern BOM_API int BOM_option_describe(
2600  int option,
2601  char** item,
2602  char** option_name,
2603  char** desc,
2604  int* visibility,
2605  int* option_type,
2606  int* value_type,
2607  int* based_on,
2608  logical* has_default
2609  );
2610 
2611 extern BOM_API int BOM_ask_option_path(
2612  int option,
2613  char** path
2614  );
2615 
2619 extern BOM_API int BOM_option_ask_allowed_strings(
2620  int option,
2621  int* count,
2622  char*** values,
2623  char** default_value
2624  );
2625 
2640 extern BOM_API int BOM_option_ask_allowed_ints(
2641  int option,
2642  int* count,
2643  int** mins,
2644  int** maxs,
2645  int** range_types,
2646  int* default_value
2647  );
2648 
2653 extern BOM_API int BOM_option_ask_allowed_reals(
2654  int option,
2655  int* count,
2656  double** mins,
2657  double** maxs,
2658  int** range_types,
2659  double* default_value
2660  );
2661 
2662 extern BOM_API int BOM_option_ask_logical_default(
2663  int option,
2664  logical* default_value
2665  );
2666 
2670 extern BOM_API int BOM_line_ask_mvl_condition(
2671  tag_t line,
2672  char** condition
2673  );
2674 
2678 extern BOM_API int BOM_line_set_mvl_condition(
2679  tag_t line,
2680  const char* condition
2681  );
2682 
2686 extern BOM_API int BOM_line_ask_mvl(
2687  tag_t line,
2688  char** mvl
2689  );
2690 
2698 extern BOM_API int BOM_line_set_mvl(
2699  tag_t line,
2700  const char* mvl
2701  );
2702 
2710 extern BOM_API int BOM_module_list_options(
2711  tag_t window,
2712  const char* module_id,
2713  int* count,
2714  int** options
2715  );
2716 
2720 extern BOM_API int BOM_module_ask_option_text(
2721  int option,
2722  char** text
2723  );
2724 
2730 extern BOM_API int BOM_module_ask_option_handle(
2731  tag_t window,
2732  const char* module_id,
2733  const char* name,
2734  int* option
2735  );
2736 
2741 extern BOM_API int BOM_line_define_option(
2742  tag_t line,
2743  const char* text
2744  );
2745 
2749 extern BOM_API int BOM_line_delete_option(
2750  tag_t line,
2751  int option
2752  );
2753 
2757 extern BOM_API int BOM_line_modify_option
2758  ( tag_t line,
2759  int option,
2760  const char *text
2761  );
2762 
2770 extern BOM_API int BOM_sos_db_read(
2771  tag_t db_sos,
2772  tag_t config
2773  );
2774 
2775 extern BOM_API int BOM_sos_db_create(
2776  const char* db_sos_name,
2777  tag_t config,
2778  tag_t* db_sos
2779  );
2780 
2781 extern BOM_API int BOM_sos_db_set(
2782  tag_t db_sos,
2783  tag_t config
2784  );
2785 
2786 extern BOM_API int BOM_sos_db_create_partial(
2787  const char* db_sos_name,
2788  tag_t config,
2789  int count,
2790  tag_t* items,
2791  char** options,
2792  logical* isModular,
2793  tag_t* db_sos
2794  );
2795 
2796 extern BOM_API int BOM_sos_db_set_partial(
2797  tag_t db_sos,
2798  tag_t config,
2799  int count,
2800  tag_t* items,
2801  char** options,
2802  logical* isModular
2803  );
2804 
2805 extern BOM_API int BOM_sos_db_contents(
2806  tag_t db_sos,
2807  int* count,
2808  tag_t** items,
2809  char*** options,
2810  int** optionTypes,
2811  int** valueTypes,
2812  int** howSet,
2813  char*** values
2814  );
2815 
2816 extern BOM_API int BOM_sos_db_option_query(
2817  int n,
2818  tag_t* items,
2819  char** options,
2820  int* n_matches,
2821  tag_t** matches
2822  );
2823 
2824 extern BOM_API int BOM_sos_db_query(
2825  int n,
2826  tag_t* items,
2827  char** options,
2828  int* ops,
2829  int* valueTypes,
2830  char** lowValues,
2831  char** highValues,
2832  int* n_matches,
2833  tag_t** matches
2834  );
2835 
2843 extern BOM_API int BOM_create_variant_config(
2844  tag_t bom_vrule,
2845  int count,
2846  tag_t* bomsoslist,
2847  tag_t* bom_variant_config
2848  );
2849 
2850 extern BOM_API int BOM_create_window_variant_config(
2851  tag_t bom_window,
2852  int mode,
2853  tag_t* bom_variant_config
2854  );
2855 
2856 extern BOM_API int BOM_create_bomline_variant_config(
2857  tag_t bom_line,
2858  int mode,
2859  tag_t* bom_variant_config
2860  );
2861 
2862 extern BOM_API int BOM_delete_variant_config(
2863  tag_t bom_variant_config
2864  );
2865 
2866 extern BOM_API int BOM_variant_config_apply(
2867  tag_t bom_variant_config
2868  );
2869 
2870 extern BOM_API int BOM_variant_config_clear(
2871  tag_t bom_variant_config
2872  );
2873 
2874 extern BOM_API int BOM_variant_config_evaluate(
2875  tag_t bom_variant_config
2876  );
2877 
2878 extern BOM_API int BOM_variant_config_copy(
2879  tag_t source_config,
2880  logical deepCopy,
2881  tag_t* new_config
2882  );
2883 
2884 extern BOM_API int BOM_set_variant_config_bomvrule(
2885  tag_t bom_variant_config,
2886  tag_t bom_vrule,
2887  int mode
2888  );
2889 
2890 extern BOM_API int BOM_set_variant_config_bomsos(
2891  tag_t bom_variant_config,
2892  tag_t bom_line,
2893  tag_t bom_sos,
2894  int mode
2895  );
2896 
2897 extern BOM_API int BOM_ask_variant_config(
2898  tag_t bom_variant_config,
2899  tag_t* bom_vrule,
2900  int* count,
2901  tag_t** bomsoslist
2902  );
2903 
2904 extern BOM_API int BOM_ask_variant_config_context(
2905  tag_t bom_variant_config,
2906  tag_t* bom_window,
2907  tag_t* root_bom_line
2908  );
2909 
2922 extern BOM_API int BOM_line_create_vi(
2923  tag_t line,
2924  logical is_linked_to_generic_component,
2928  const char* item_id,
2931  const char* item_name,
2932  const char* type_name,
2934  const char* rev_id,
2937  tag_t* new_item,
2938  tag_t* new_rev
2939  );
2940 
2945 extern BOM_API int BOM_line_configure_in_vi(
2946  tag_t line,
2947  tag_t variant_item
2948  );
2949 
2953 extern BOM_API int BOM_window_ask_generic_components(
2954  tag_t window,
2955  int* generic_component_count,
2956  tag_t** generic_component_lines
2957  );
2958 
2966  tag_t line,
2967  logical* reuseIdIsPossible
2968  );
2969 
2977 extern BOM_API int BOM_line_map_vi_requirements_from_parent(
2978  tag_t line,
2980  int n,
2981  tag_t* items,
2982  char** options,
2983  int* ops,
2984  int* valueTypes,
2985  char** lowValues,
2986  char** highValues,
2987  int* n_out,
2990  tag_t** items_out,
2993  char*** options_out,
2996  int** ops_out,
2999  int** valueTypes_out,
3002  char*** lowValues_out,
3005  char*** highValues_out
3008  );
3009 
3014 extern BOM_API int BOM_line_is_stopped(
3015  tag_t line,
3016  logical* is_stopped
3017  );
3018 
3023 extern BOM_API int BOM_line_set_stop(
3024  tag_t line
3025  );
3026 
3031 extern BOM_API int BOM_line_clear_stop(
3032  tag_t line
3033  );
3034 
3039 extern BOM_API int BOM_line_clear_all_stops(
3040  tag_t line
3041  );
3042 
3047 extern BOM_API int BOM_line_assign_child_line(
3048  tag_t line,
3049  tag_t sourceLine,
3050  char* occType,
3051  tag_t* newChildLine
3052  );
3053 
3057 extern BOM_API int BOM_window_shows_unconfigured(
3058  tag_t window,
3059  logical* shows_unconfigured
3060  );
3061 
3068 extern BOM_API int BOM_window_show_unconfigured(
3069  tag_t window
3070  );
3071 
3078 extern BOM_API int BOM_window_hide_unconfigured(
3079  tag_t window
3080  );
3081 
3086  tag_t window
3087  );
3088 
3093  tag_t window,
3094  logical* filter_unconfigured
3095  );
3096 
3100 extern BOM_API int BOM_window_set_closure_rule(
3101  tag_t window,
3102  tag_t closure_rule,
3103  int n_variables,
3104  char** variable_names,
3105  char** variable_values
3106  );
3107 
3111 extern BOM_API int BOM_window_shows_gcs_cps(
3112  tag_t window,
3113  logical* shows_gcs_cp
3114  );
3115 
3122 extern BOM_API int BOM_window_show_gcs_cps(
3123  tag_t window
3124  );
3125 
3132 extern BOM_API int BOM_window_hide_gcs_cps(
3133  tag_t window
3134  );
3135 
3136 /* Suppression of occurrences.
3137 */
3138 extern BOM_API int BOM_window_shows_suppressed
3139  ( tag_t window,
3140  logical *shows_suppressed
3141  );
3142 
3143 extern BOM_API int BOM_window_show_suppressed
3144  ( tag_t window
3145  );
3146 
3147 extern BOM_API int BOM_window_hide_suppressed
3148  ( tag_t window
3149  );
3150 
3169 extern BOM_API int BOM_compare_create(
3170  tag_t* bomcompare
3171  );
3172 
3176 extern BOM_API int BOM_compare_delete
3177  ( tag_t bomcompare
3178  );
3179 
3185 extern BOM_API int BOM_compare_ask_modes (
3186  logical visible_only,
3187  int* n_modes,
3188  char*** mode_names
3189  );
3190 
3212 extern BOM_API int BOM_compare_visit_engine (
3213  tag_t bomcompare,
3215  BOM_compare_engine_visitor_t* enter_engine,
3216  BOM_compare_engine_visitor_t* leave_engine,
3217  BOM_compare_set_visitor_t* visit_set,
3218  void* user_data
3219  );
3220 
3224 extern BOM_API int BOM_compare_ask_mode (
3225  tag_t bomcompare,
3226  char** mode_name
3227  );
3228 
3232 extern BOM_API int BOM_compare_ask_output_mode (
3233  tag_t bomcompare,
3234  int* output_mode
3235  );
3236 
3240 extern BOM_API int BOM_compare_ask_root_bomlines (
3241  tag_t bomcompare,
3242  tag_t* bomline1,
3243  tag_t* bomline2
3244  );
3245 
3249 extern BOM_API int BOM_compare_ask_engine_root_bomlines (
3250  tag_t bomcompareengine,
3251  tag_t* bomline1,
3252  tag_t* bomline2
3253  );
3254 
3288 extern BOM_API int BOM_compare_define_mode (
3289  const char* mode_name,
3290  int traversal_mode,
3293  tag_t compare_desc,
3294  logical visible,
3295  logical autopack,
3296  logical virtualunpack
3297  );
3298 
3302 extern BOM_API int BOM_compare_ask_mode_info (
3303  const char* mode_name,
3304  int* traversal_mode,
3305  tag_t* compare_desc,
3306  logical* visible,
3307  logical* autopack,
3308  logical* virtualunpack
3309  );
3310 
3311 extern BOM_API int BOM_compare_set_visibility (
3312  const char* mode_name,
3313  logical visible
3314  );
3315 
3316 extern BOM_API int BOM_compare_reports_unchanged(
3317  const char* mode_name,
3318  logical* reports_unchanged
3319  );
3320 
3321 extern BOM_API int BOM_compare_set_rpt_unchanged(
3322  const char* mode_name,
3323  logical report_unchanged
3324  );
3325 
3342 extern BOM_API int BOM_compare(
3343  tag_t line1,
3344  tag_t line2,
3345  int mode,
3349  int output
3354  );
3355 
3359 extern BOM_API int BOM_compare_execute(
3360  tag_t bomcompare,
3362  tag_t bomline1,
3363  tag_t bomline2,
3364  const char* mode_name,
3365  int output_to
3366  );
3367 
3371 extern BOM_API int BOM_compare_clear(
3372  tag_t compare_context
3374  );
3375 
3388 extern BOM_API int BOM_compare_suppress(
3389  tag_t compare_context,
3391  int output
3396  );
3397 
3406 extern BOM_API int BOM_compare_list_bomlines(
3407  tag_t cmp_item,
3408  int* count1,
3409  tag_t** bomline_list1,
3410  int* count2,
3411  tag_t** bomline_list2
3412  );
3413 
3424 extern BOM_API int BOM_compare_ask_difference(
3425  tag_t cmp_item,
3426  int* diff_flags
3427  );
3428 
3437 extern BOM_API int BOM_compare_ask_qty(
3438  tag_t cmp_item,
3439  double* qty1,
3440  double* qty2
3450  );
3451 
3461 extern BOM_API int BOM_compare_ask_rev(
3462  tag_t cmp_item,
3463  char** rev1,
3464  char** rev2
3465  );
3466 
3478 extern BOM_API int BOM_compare_ask_seqno(
3479  tag_t cmp_item,
3480  char** seqno
3481  );
3482 
3488 extern BOM_API int BOM_compare_list_diffs(
3489  tag_t line,
3490  int* diff_count,
3491  tag_t** diff_lines,
3492  int** diff_flags
3493  );
3494 
3514 extern BOM_API int BOM_compare_list_diffs_context(
3515  tag_t line,
3516  tag_t context,
3518  int* diff_count,
3519  tag_t** diff_lines,
3520  int** diff_flags
3522  );
3523 
3533 extern BOM_API int BOM_compare_report(
3534  tag_t compare_context,
3536  int* report_length,
3537  char*** report_lines,
3539  tag_t** report_items
3542  );
3543 
3549 extern BOM_API int BOM_compare_report_size(
3550  tag_t compare_context,
3552  int* report_width,
3553  int* column_spacer,
3554  int* column_count,
3555  int** column_width
3556  );
3557 
3565 extern BOM_API int BOM_create_snapshot(
3566  tag_t bom_window,
3567  const char* name,
3568  const char* desc,
3569  tag_t* snapshot_folder
3570  );
3571 
3593 extern BOM_API int BOM_create_baseline(
3594  tag_t bom_window,
3595  const char* name,
3596  const char* desc,
3597  const char* rel_proc_name,
3598  const char* jobName,
3599  const char* jobDescription,
3600  tag_t* baseline_rev
3601  );
3602 
3616 extern BOM_API int BOM_create_baseline_with_baseline_label(
3617  tag_t bom_window,
3618  const char* name,
3619  const char* desc,
3620  const char* rel_proc_name,
3621  const char* jobName,
3622  const char* baseline_label_name,
3623  const char* jobDescription,
3624  tag_t* baseline_rev
3625  );
3626 
3634 extern BOM_API int BOM_dryrun_baseline(
3635  tag_t bom_window,
3636  const char* rel_proc_name,
3637  char** logFileName,
3638  char** fullLogFileName,
3639  logical* error_registered
3640  );
3641 
3644 extern BOM_API int BOM_create_window_from_snapshot(
3645  tag_t snapshot_folder,
3646  tag_t* bom_window
3647  );
3648 
3656 extern BOM_API int BOM_line_ask_attribute_external(
3657  int attribute,
3658  logical* attribute_is_external
3659  );
3660 
3676 extern BOM_API int BOM_writer_new_output_file (
3677  BOM_writer_output** p
3679  );
3680 
3687 extern BOM_API int BOM_writer_new_output_smstring (
3688  BOM_writer_output** p
3690  );
3691 
3698 extern BOM_API int BOM_writer_new_format_empty (
3699  BOM_writer_format** p
3701  );
3702 
3709 extern BOM_API int BOM_writer_new_format_ajt (
3710  BOM_writer_format** p
3712  );
3713 
3720 extern BOM_API int BOM_writer_new_format_plmxml (
3721  BOM_writer_format** p
3723  );
3724 
3731 extern BOM_API int BOM_writer_new_format_flatten (
3732  BOM_writer_format** p
3734  );
3735 
3742 extern BOM_API int BOM_writer_new_traversal (
3745  );
3746 
3782 extern BOM_API int BOM_writer_write_bomwindow (
3783  tag_t bom_window,
3785  BOM_writer_output* output_p,
3786  BOM_writer_format* format_p,
3787  BOM_writer_traversal* traversal_p
3788  );
3789 
3795 extern BOM_API int BOM_writer_get_plmxml_builders (
3796  int* count,
3797  char*** names,
3798  char*** descriptions
3799  );
3800 
3804 extern BOM_API int BOM_writer_delete (
3805  void* block
3806  );
3807 
3811 extern BOM_API int BOM_window_show_incremental_changes(
3812  tag_t bom_window
3813  );
3814 
3818 extern BOM_API int BOM_window_hide_incremental_changes(
3819  tag_t bom_window
3820  );
3821 
3825 extern BOM_API int BOM_set_window_config_context(
3826  tag_t window,
3827  tag_t config_context
3828  );
3829 
3833 extern BOM_API int BOM_window_get_bomline_from_apprPathNode(
3834  tag_t window,
3835  tag_t pathNode,
3836  tag_t intermediateParentLine,
3837  tag_t* pathNodeBomLine
3838  );
3839 
3840 extern BOM_API int BOM_line_create_add_ice(
3841  tag_t line,
3842  tag_t* new_ice
3843  );
3844 
3845 extern BOM_API int BOM_line_create_remove_ice(
3846  tag_t line,
3847  tag_t* new_ice
3848  );
3849 
3853 extern BOM_API int BOM_line_remove_incremental_changes(
3854  tag_t line,
3855  int n,
3856  tag_t * ices
3857  );
3858 
3859 extern BOM_API int BOM_line_list_related_substitutes
3860 (
3861  tag_t bom_line,
3862  int *n_items,
3863  tag_t **related_occs,
3864  tag_t **related_items
3865 );
3866 
3867 extern BOM_API int BOM_line_remove_related_substitutes
3868 (
3869  int n_lines,
3870  tag_t *lines
3871 );
3872 
3873 extern BOM_API int BOM_line_relate_substitutes
3874 (
3875  int num_of_lines,
3876  tag_t *bom_lines,
3877  tag_t *substitute_set
3878 );
3879 
3880 extern BOM_API int BOM_line_add_optional_item
3881 (
3882  tag_t bom_line,
3883  tag_t item,
3884  tag_t rev,
3885  tag_t bomview
3886 );
3887 
3888 extern BOM_API int BOM_line_remove_optional_item
3889 (
3890  tag_t bom_line,
3891  tag_t item,
3892  tag_t rev,
3893  tag_t bomview
3894 );
3895 
3896 extern BOM_API int BOM_line_ask_optional_items
3897 (
3898  tag_t bom_line,
3899  int *count,
3900  tag_t **opt_items,
3901  tag_t **opt_views
3902 );
3903 
3909 extern BOM_API int BOM_line_force_config(
3910  tag_t bomline,
3911  logical force_parents_too,
3913  int override_status
3914  );
3915 
3916 extern BOM_API int BOM_window_clear_all_forced_configs(
3917  tag_t bomwindow
3918  );
3919 
3920 extern BOM_API int BOM_start_forced_config(
3921  tag_t *transaction
3922  );
3923 
3924 extern BOM_API int BOM_end_forced_config(
3925  tag_t transaction
3926  );
3927 
3930 /*
3931  * Occurrence Type Filter Calls
3932  */
3933 extern BOM_API int BOM_window_show_occ_type_filter(
3934  tag_t window_tag
3935  );
3936 
3937 extern BOM_API int BOM_window_hide_occ_type_filter(
3938  tag_t window_tag
3939  );
3940 
3941 extern BOM_API int BOM_window_set_occ_type_filter(
3942  tag_t window_tag,
3943  int count,
3944  char **typeList
3945  );
3946 
3947 extern BOM_API int BOM_window_get_occ_type_filter(
3948  tag_t window_tag,
3949  int *count,
3950  char ***typeList
3951  );
3952 
3953 
3954 
3955 extern BOM_API int BOM_line_create_vi_structures(
3956  tag_t line,
3957  logical is_linked_to_generic_component,
3958  tag_t* new_item,
3959  tag_t* new_rev
3960  );
3961 
3962 
3963 
3971 extern BOM_API int BOM_ok_to_modify_obj_in_ic(
3972  tag_t window_tag,
3973  tag_t object_tag,
3974  logical* modifiable
3975  );
3976 
3983 extern BOM_API int BOM_world_newIrfWhereConfigured(
3984  tag_t rev
3985  );
3986 
3987 
4017 (
4018  int n_broken_links,
4019  tag_t * broken_links,
4020  int n_scope,
4021  tag_t * scope,
4022  int n_properties,
4023  char ** properties,
4024  int n_operators,
4025  char ** operators,
4026  tag_t revision_rule,
4027  logical quick_search,
4028  logical auto_fix,
4029  int ** n_candidates,
4030  tag_t ** candidates
4031 );
4032 
4033 
4039 extern BOM_API int BOM_line_create_rollup_report
4040 (
4041  tag_t bomline,
4042  tag_t rollup_template,
4043  tag_t folder,
4044  const char* name,
4045  const char* description,
4046  tag_t* report_dataset
4047 );
4048 
4060 extern BOM_API int BOM_create_publish_link(
4061  const char* name,
4062  const char* type,
4063  tag_t source_line,
4064  int target_count,
4065  const tag_t *target_lines,
4066  tag_t* publishLink
4067  );
4068 
4075 extern BOM_API int BOM_publishlink_add_targets(
4076  tag_t source_line,
4077  int target_count,
4078  const tag_t *target_lines,
4079  tag_t *publishLink
4080  );
4081 
4087 extern BOM_API int BOM_publishlink_delete_targets (
4088  tag_t source_line,
4089  int target_count,
4090  const tag_t *target_lines,
4091  tag_t *publishLink
4092  );
4093 
4097 extern BOM_API int BOM_publishlink_find_targets_in_window(
4098  tag_t source_line,
4099  tag_t target_bom_window,
4100  int *targets_count,
4101  tag_t **target_lines
4102  );
4103 
4117 extern BOM_API int BOM_publish_data(
4118  tag_t source_line,
4119  int target_count,
4120  const tag_t *target_lines,
4121  const int data_flags,
4122  const char *publishLinkName,
4123  const char *publishLinkTypeName,
4124  tag_t *publishLink
4125  );
4126 
4136 extern BOM_API int BOM_delete_publishlink_for_source(
4137  tag_t source_line
4138  );
4139 
4143 extern BOM_API int BOM_publishlink_find_source_in_window(
4144  tag_t target_line,
4145  tag_t source_bom_window,
4146  tag_t *source_line
4147  );
4148 
4154 extern BOM_API int BOM_publishlink_delete_target(
4155  tag_t target_line,
4156  tag_t *publishLink
4157  );
4158 
4163 extern BOM_API int BOM_publishlink_ask_source_context_bv(
4164  tag_t target_line,
4165  tag_t *source_bom_view
4166  );
4167 
4171 extern BOM_API int BOM_ask_publishlink_for_source(
4172  tag_t source_line,
4173  tag_t *publish_link
4174  );
4175 
4179 extern BOM_API int BOM_ask_publishlink_for_target(
4180  tag_t target_line,
4181  tag_t *publish_link
4182  );
4183 
4198 extern BOM_API int BOM_verify_part_structure(
4199  tag_t line,
4200  int* cntCompleteLines,
4201  tag_t** completeLinesTags,
4202  int* cntIncompleteLines,
4203  tag_t** incompleteLinesTags,
4204  int* cntSkippedLines,
4205  tag_t** skippedLinesTags
4206  );
4207 
4213 extern BOM_API int BOM_export_configured_nx_assembly(
4214  tag_t bomLine,
4215  const char* namingFormat,
4216  int noOfValidExcludes,
4217  const tag_t* excludedTags,
4218  char** zipFileTicket,
4219  char** logFileTicket
4220  );
4221 
4226  tag_t bom_line,
4227  int countin,
4228  char** clone_stable_uids,
4229  int* count,
4230  tag_t** children
4231  );
4232 
4238 extern BOM_API int BOM_line_find_preferred_JT_refset(
4239  tag_t bom_line,
4240  tag_t item_revision,
4241  logical ignore_overrides,
4242  tag_t* jtfile,
4243  char** refset_name,
4244  logical* jt_override
4245  );
4246 
4250 extern BOM_API int BOM_line_remove_absocc_property
4251  (
4252  tag_t bomLine,
4253  char* propertyName,
4254  tag_t contextBomLine
4255  );
4256 
4260 extern BOM_API int BOM_line_remove_absocc_relation
4261  (
4262  tag_t lineTag,
4263  tag_t sourceApn,
4264  tag_t relation
4265  );
4266 
4270 extern BOM_API int BOM_line_ask_absocc_relation
4271  (
4272  tag_t lineTag,
4273  tag_t sourceApn,
4274  char *relName,
4275  logical configuredOnly,
4276  int *relCount,
4277  tag_t **relations
4278  );
4279 
4283 extern BOM_API int BOM_line_replace_absocc_relation
4284  (
4285  tag_t lineTag,
4286  tag_t sourceApn,
4287  tag_t relation,
4288  tag_t newSecondary,
4289  tag_t *newRelation
4290  );
4291 
4297 extern BOM_API int BOM_line_add_absocc_relation
4298  (
4299  tag_t lineTag,
4300  tag_t relType,
4301  tag_t secObject,
4302  tag_t *newRelation
4303  );
4304 
4308 extern BOM_API int BOM_window_ask_absocc_context
4309  (
4310  tag_t window,
4311  tag_t *rootLine
4312  );
4313 
4317 extern BOM_API int BOM_window_set_absocc_context
4318  (
4319  tag_t window,
4320  tag_t rootLine
4321  );
4322 
4326 extern BOM_API int BOM_window_ask_absocc_edit_mode
4327  (
4328  tag_t window,
4329  logical *absOccEditMode
4330  );
4331 
4337 extern BOM_API int BOM_window_set_absocc_edit_mode
4338  (
4339  tag_t window,
4340  logical absOccEditMode
4341  );
4342 
4358 extern BOM_API int BOM_line_ask_unit_occurrence_effectivity(
4359  tag_t bomline,
4360  logical intersectWithConfigurationEff,
4361  logical* occEffExists,
4362  logical* isAlwaysEffective,
4363  int* effyInfoCount,
4364  WSOM_effectivity_info_t*** effectivityInfo
4365  );
4366 
4375 extern BOM_API int BOM_create_bomsetlines_for_input_lines(
4376  BOM_bomset_create_criteria_t bomset_create_criteria,
4377  tag_t* input_lines,
4378  int input_lines_count,
4379  int* bomset_count,
4380  BOM_bomset_input_info_t** bomset_input_info
4381  );
4382 
4391 extern BOM_API int BOM_expand_bomset_lines(
4392  BOM_bomset_input_info_t bomset_input_info,
4393  BOM_bomset_output_info_t* bomset_output_info
4394  );
4395 
4396 
4397 
4401 extern BOM_API int BOM_item_module_list_options (
4402  tag_t window,
4403  tag_t item,
4404  int *count,
4405  int **options
4406  );
4407 
4411 extern BOM_API int BOM_item_ask_option_handle(
4412  tag_t window,
4413  const tag_t item,
4414  const char* name,
4415  int* option
4416  );
4417 
4421 extern BOM_API int BOM_option_describe2(
4422  int option,
4423  tag_t* item,
4424  char** option_name,
4425  char** desc,
4426  int* visibility,
4427  int* option_type,
4428  int* value_type,
4429  int* based_on,
4430  logical* has_default
4431  );
4432 
4436 extern BOM_API int BOM_option_where_declared2(
4437  const tag_t item,
4438  const char* option,
4439  int* count,
4440  tag_t** item_revs
4441  );
4442 
4446 extern BOM_API int BOM_option_where_used2(
4447  const tag_t item,
4448  const char* option,
4449  int* count,
4450  tag_t** objs
4451  );
4452 
4457 extern BOM_API int BOM_line_occ_validate(
4458  int count,
4459  tag_t* lines,
4460  logical recurse,
4461  int* err_count,
4462  int** ifails,
4463  tag_t** err_lines
4464  );
4465 
4483 extern BOM_API int BOM_line_suppress_lines(
4484  int count,
4485  const tag_t* lines,
4486  const logical* suppression_flags,
4487  int* err_count,
4488  int** ifails,
4489  tag_t** err_lines
4490  );
4491 
4500 extern BOM_API int BOM_line_get_clone_stable_id_chain(
4501  tag_t bomline,
4502  const char * root_str,
4503  char ** cli_chain
4504  );
4505 
4516  tag_t window,
4517  const char * cs_chain,
4518  tag_t * line
4519  );
4520 
4544  extern BOM_API int BOM_find_variant_rule_and_or_sos(
4545  tag_t item_revision,
4546  const char* rule_name,
4547  tag_t relation_type,
4548  logical consider_PSEVariantsMode_pref,
4549  int * n_objects_found,
4550  tag_t ** objects
4551  );
4553 /*================================================================================================*/
4554 
4555 
4556 #ifdef __cplusplus
4557 }
4558 #endif
4559 #include <bom/libbom_undef.h>
4560 #endif
4561 
4562