ITK Function Reference

(V10000.1.0.60_20160308.00)
cfm.h
Go to the documentation of this file.
1 /*==============================================================================
2  Copyright (c) 2003-2005 UGS Corporation
3  Unpublished - All Rights Reserved
4  ==============================================================================*/
5 
12 /* */
13 
14 #ifndef CFM_H
15 #define CFM_H
16 
17 #include <unidefs.h>
18 
19 #include <cfm/cfm_errors.h>
20 #include <cfm/cfm_tokens.h>
21 #include <cfm/libcfm_exports.h>
22 
53 #define CFM_entry_working 0
54 #define CFM_entry_status 1
55 #define CFM_entry_override 2
56 #define CFM_entry_date 3
57 #define CFM_entry_unit_no 4
58 #define CFM_entry_group 5
59 #define CFM_entry_precise 6
60 #define CFM_entry_latest 7
61 #define CFM_entry_end_item 8
62 #define CFM_entry_group_item_type 9
63 #define CFM_entry_branch 10
64 #define CFM_entry_nested_eff 11
65 
71 #define CFM_status_released_date 0
72 #define CFM_status_effective_date 1
73 #define CFM_status_unit_no 2
74 
80 #define CFM_latest_creation_date 0
81 #define CFM_latest_alphanumeric 1
82 #define CFM_latest_numeric 2
83 #define CFM_latest_alpha_plus_no 3
84 
86 #ifdef __cplusplus
87 extern "C"
88 {
89 #endif
90 
98 /* END OF HEADER */
99 
123 extern CFM_API int CFM_rule_create(
124  const char* rule_name,
125  const char* description,
126  tag_t* new_rule
127  );
128 
136 extern CFM_API int CFM_rule_copy(
137  tag_t rule_to_copy,
138  const char* new_name,
139  tag_t* new_rule
140  );
141 
145 extern CFM_API int CFM_ask_rule_text(
146  tag_t rule,
147  char** text
148  );
149 
157 extern CFM_API int CFM_rule_reevaluate(
158  tag_t rule
159  );
160 
189 extern CFM_API int CFM_rule_add_entry(
190  tag_t rule,
191  int type,
192  tag_t* entry
193  );
194 
198 extern CFM_API int CFM_rule_delete_entry(
199  tag_t rule,
200  tag_t entry
201  );
202 
208 extern CFM_API int CFM_rule_replace_entry(
209  tag_t rule,
210  tag_t old_entry,
211  int type,
212  tag_t* new_entry
213  );
214 
218 extern CFM_API int CFM_rule_list_entries(
219  tag_t rule,
220  int* n_entries,
221  tag_t** entries,
222  int** entry_types
223  );
224 
229 extern CFM_API int CFM_rule_move_entry_up(
230  tag_t rule,
231  tag_t entry
232  );
233 
239 extern CFM_API int CFM_rule_move_entry_down(
240  tag_t rule,
241  tag_t entry
242  );
243 
260 extern CFM_API int CFM_rule_group_entries(
261  tag_t rule,
262  int n_entries,
263  tag_t* entries,
264  tag_t* group_entry
265  );
266 
271 extern CFM_API int CFM_rule_group_entries_by_itemtype(
272  tag_t rule,
273  int n_entries,
274  tag_t* entries,
275  int n_itemtypes,
276  char** item_types,
277  tag_t* group_entry
278  );
279 
301 extern CFM_API int CFM_entry_ask_type(
302  tag_t entry,
303  int* type
304  );
305 
312 extern CFM_API int CFM_working_entry_ask_user(
313  tag_t entry,
314  logical* current_user,
315  tag_t* user
316  );
317 
325 extern CFM_API int CFM_working_entry_set_user(
326  tag_t entry,
327  logical current_user,
328  tag_t user
329  );
330 
337 extern CFM_API int CFM_working_entry_ask_group(
338  tag_t entry,
339  logical* current_group,
340  tag_t* user
341  );
342 
350 extern CFM_API int CFM_working_entry_set_group(
351  tag_t entry,
352  logical current_group,
353  tag_t user
354  );
355 
360 extern CFM_API int CFM_status_entry_ask_status(
361  tag_t entry,
362  tag_t* status_type
363  );
364 
368 extern CFM_API int CFM_status_entry_set_status(
369  tag_t entry,
370  tag_t status_type
371  );
372 
382 extern CFM_API int CFM_status_entry_ask_type(
383  tag_t entry,
384  int* type
385  );
386 
405 extern CFM_API int CFM_status_entry_set_type(
406  tag_t entry,
407  int type
408  );
409 
416 extern CFM_API int CFM_override_entry_ask_folder(
417  tag_t entry,
418  tag_t* folder
419  );
420 
429 extern CFM_API int CFM_override_entry_set_folder(
430  tag_t entry,
431  tag_t folder
432  );
433 
434 
449 extern CFM_API int CFM_branch_entry_ask_branch(
450  tag_t entry,
451  tag_t* branch
452  );
453 
469 extern CFM_API int CFM_branch_entry_set_branch(
470  tag_t entry,
471  tag_t branch
472  );
473 
474 
478 extern CFM_API int CFM_date_entry_ask_date(
479  tag_t entry,
480  logical* today,
481  date_t* effective_date
482  );
483 
487 extern CFM_API int CFM_date_entry_set_date(
488  tag_t entry,
489  logical today,
490  date_t effective_date
491  );
492 
498 extern CFM_API int CFM_rule_ask_date(
499  tag_t rule,
500  date_t* date
501  );
506 extern CFM_API int CFM_rule_set_date(
507  tag_t rule,
508  date_t date
509  );
510 
514 extern CFM_API int CFM_unitno_entry_ask_no(
515  tag_t entry,
516  int* unit_no
517  );
518 
522 extern CFM_API int CFM_unitno_entry_set_no(
523  tag_t entry,
524  int unit_no
525  );
526 
530 extern CFM_API int CFM_latest_entry_ask_type(
531  tag_t entry,
532  int* type
535  );
536 
540 extern CFM_API int CFM_latest_entry_set_type(
541  tag_t entry,
542  int type
545  );
546 
550 extern CFM_API int CFM_group_entry_list_entries(
551  tag_t group_entry,
552  int* n_entries,
553  tag_t** entries
554  );
555 
559 extern CFM_API int CFM_group_itemtype_entry_ask_itemtypes(
560  tag_t entry,
561  int* n_itemtypes,
562  char*** itemtypes
563  );
564 
568 extern CFM_API int CFM_group_itemtype_entry_set_itemtypes(
569  tag_t entry,
570  int n_itemtypes,
571  char** itemtypes
572  );
573 
589 extern CFM_API int CFM_group_entry_add_entry(
590  tag_t group_entry,
591  tag_t entry_to_add
592  );
593 
602 extern CFM_API int CFM_group_entry_remove_entry(
603  tag_t group_entry,
604  tag_t entry_in_group
605  );
606 
610 extern CFM_API int CFM_rule_ask_effective_date(
611  tag_t rule,
612  date_t* date
613  );
614 
618 extern CFM_API int CFM_rule_set_effective_date(
619  tag_t rule,
620  date_t date
621  );
622 
623 extern CFM_API int CFM_rule_ask_unit(
624  tag_t rule,
625  int* unit
626  );
627 
628 extern CFM_API int CFM_rule_set_unit(
629  tag_t rule,
630  int unit
631  );
632 
638 extern CFM_API int CFM_rule_ask_modifier(
639  tag_t rule,
640  tag_t * modifier
641  );
642 
648 extern CFM_API int CFM_rule_set_modifier(
649  tag_t rule,
650  tag_t modifier
651  );
652 
672 extern CFM_API int CFM_rule_generate_modifier(
673  tag_t rule,
674  tag_t itemrev,
675  logical override_parent,
676  tag_t old_modifier,
677  tag_t * new_modifier
678  );
679 
694 extern CFM_API int CFM_rule_generate_modifier_chain(
695  tag_t rule,
696  int n_items,
697  tag_t * items,
698  logical override_parent,
699  tag_t ** itemrevs,
700  tag_t ** modifiers
701  );
702 
718 extern CFM_API int CFM_rule_generate_end_modifier(
719  tag_t rule,
720  int n_items,
721  tag_t * items,
722  logical override_parent,
723  tag_t * last_itemrev,
724  tag_t * last_modifier
725  );
726 
739 extern CFM_API int CFM_rule_delete_modifier(
740  tag_t modifier
741  );
742 
743 
747 extern CFM_API int CFM_rule_ask_end_item(
748  tag_t rule,
749  tag_t* end_item
751  );
752 
753 extern CFM_API int CFM_rule_ask_end_item_rev(
754  tag_t rule,
755  tag_t* end_item_rev
757  );
758 
762 extern CFM_API int CFM_rule_set_end_item(
763  tag_t rule,
764  tag_t end_item
766  );
767 
768 extern CFM_API int CFM_rule_set_end_item_rev(
769  tag_t rule,
770  tag_t end_item_rev
772  );
773 
774 extern CFM_API int CFM_rule_add_intent(
775  tag_t rule,
776  tag_t intent
777  );
778 
779 extern CFM_API int CFM_rule_remove_intent(
780  tag_t rule,
781  tag_t intent
782  );
783 
784 extern CFM_API int CFM_rule_list_intents(
785  tag_t rule,
786  int* n_intents,
787  tag_t** intents
788  );
789 
813 extern CFM_API int CFM_item_ask_configured(
814  tag_t rule,
815  tag_t item,
816  tag_t* configured_rev,
817  char** how_configured
818  );
819 
833 extern CFM_API int CFM_item_ask_configured_base(
834  tag_t rule,
835  tag_t item,
836  tag_t* configured_rev,
837  char** how_configured
838  );
839 
840 
859 extern CFM_API int CFM_item_ask_configured_nested(
860  tag_t rule,
861  tag_t item,
862  tag_t* configured_rev,
863  char** how_configured
864  );
865 
874 extern CFM_API int CFM_item_ask_how_configured(
875  tag_t rule,
876  tag_t item,
877  tag_t* configured_rev,
878  tag_t* how_configured
879  );
880 
886 extern CFM_API int CFM_how_configured_text(
887  tag_t how_configured,
888  char** text
889  );
890 
902 extern CFM_API int CFM_latest_of_latest(
903  tag_t rule,
904  int n_candidates,
905  tag_t* candidates,
906  tag_t* latest
907  );
908 
916 extern CFM_API int CFM_ask_how_configured_user_ref(
917  tag_t how_configured,
918  tag_t* user_ref
919  );
920 
928 extern CFM_API int CFM_set_how_configured_user_ref(
929  tag_t how_configured,
930  tag_t user_ref
931  );
932 
936 extern CFM_API int CFM_free_how_configured(
937  tag_t how_configured
938  );
939 
943 extern CFM_API int CFM_find(
944  const char* name,
945  tag_t* rule
946  );
947 
951 extern CFM_API int CFM_list(
952  int* count,
953  tag_t** rules
954  );
955 
965 extern CFM_API int CFM_get_revision_rules(
966  int* count,
967  tag_t** rules
968  );
969 
974 extern CFM_API int CFM_updated(
975  tag_t rule
976  );
977 
986 extern CFM_API int CFM_is_occ_configured(
987  tag_t rule,
988  tag_t bvr,
989  tag_t occ,
990  logical* answer
991  );
992 
996 extern CFM_API int CFM_occ_set_effectivity(
997  tag_t bvr,
998  tag_t occ,
999  tag_t eff_object
1000  );
1001 
1005 extern CFM_API int CFM_occ_ask_effectivity(
1006  tag_t bvr,
1007  tag_t occurrence,
1008  tag_t* eff_object
1010  );
1011 
1015 extern CFM_API int CFM_effectivity_create(
1016  const char* id,
1017  tag_t* eff_object
1018  );
1019 
1023 extern CFM_API int CFM_effectivity_find(
1024  const char* id,
1025  tag_t* eff_object
1026  );
1027 
1031 extern CFM_API int CFM_effectivity_ask_id(
1032  tag_t eff_object,
1033  char** id
1034  );
1035 
1039 extern CFM_API int CFM_effectivity_set_id(
1040  tag_t eff_object,
1041  const char* id
1042  );
1043 
1047 extern CFM_API int CFM_effectivity_ask_date_ranges(
1048  tag_t eff_object,
1049  int* n_ranges,
1050  date_t** from_dates,
1051  date_t** to_dates
1052  );
1053 
1063 extern CFM_API int CFM_effectivity_set_date_ranges(
1064  tag_t eff_object,
1065  int n_ranges,
1066  date_t* from_dates,
1067  date_t* to_dates
1068  );
1069 
1075 extern CFM_API int CFM_create_intent(
1076  const char* name,
1077  const char* desc,
1078  tag_t* new_intent
1079  );
1080 
1083 /*================================================================================================*/
1084 
1090 extern CFM_API int CFM_find_effectivities(
1091  const char * id,
1092  int * n_effs,
1093  tag_t ** effs,
1094  tag_t * date_info
1095  );
1096 
1104 extern CFM_API int CFM_create_eff_mapping(
1105  tag_t itemrev,
1106  tag_t* mapping
1107  );
1108 
1109 extern CFM_API int CFM_set_eff_mapping_eff(
1110  tag_t mapping,
1111  tag_t eff
1112  );
1113 
1114 extern CFM_API int CFM_set_eff_mapping_eff_id(
1115  tag_t mapping,
1116  const char * id
1117  );
1118 
1119 extern CFM_API int CFM_set_eff_mapping_eff_protection(
1120  tag_t mapping,
1121  logical protection
1122  );
1123 
1124 extern CFM_API int CFM_set_eff_mapping_enditem(
1125  tag_t mapping,
1126  tag_t enditem
1127  );
1128 
1129 extern CFM_API int CFM_set_eff_mapping_enditemrev(
1130  tag_t mapping,
1131  tag_t enditemrev
1132  );
1133 
1134 extern CFM_API int CFM_set_eff_mapping_unit_range(
1135  tag_t mapping,
1136  const char* range_text,
1137  logical append
1138  );
1139 
1140 extern CFM_API int CFM_set_eff_mapping_units(
1141  tag_t mapping,
1142  int n_units,
1143  int* start_end_values,
1144  int open_ended_or_stock_out,
1145  logical append
1146  );
1147 
1148 extern CFM_API int CFM_set_eff_mapping_date_range(
1149  tag_t mapping,
1150  const char* range_text,
1151  logical append
1152  );
1153 
1154 extern CFM_API int CFM_set_eff_mapping_dates(
1155  tag_t mapping,
1156  int n_dates,
1157  date_t* start_end_values,
1158  int open_ended_or_stock_out,
1159  logical append
1160  );
1161 
1162 extern CFM_API int CFM_set_eff_mapping_subenditem(
1163  tag_t mapping,
1164  tag_t subenditem
1165  );
1166 extern CFM_API int CFM_set_eff_mapping_subenditemrev(
1167  tag_t mapping,
1168  tag_t subenditemrev
1169  );
1170 extern CFM_API int CFM_set_eff_mapping_subunit(
1171  tag_t mapping,
1172  int subunit
1173  );
1174 extern CFM_API int CFM_set_eff_mapping_subdate(
1175  tag_t mapping,
1176  date_t subdate
1177  );
1178 
1179 extern CFM_API int CFM_ask_eff_mapping_eff(
1180  tag_t mapping,
1181  tag_t * eff
1182  );
1183 
1184 extern CFM_API int CFM_ask_eff_mapping_eff_id(
1185  tag_t mapping,
1186  char ** id
1187  );
1188 
1189 extern CFM_API int CFM_ask_eff_mapping_eff_protection(
1190  tag_t mapping,
1191  logical * protection
1192  );
1193 
1194 extern CFM_API int CFM_ask_eff_mapping_enditem(
1195  tag_t mapping,
1196  tag_t * enditem
1197  );
1198 
1199 extern CFM_API int CFM_ask_eff_mapping_enditemrev(
1200  tag_t mapping,
1201  tag_t* enditemrev
1202  );
1203 
1204 extern CFM_API int CFM_ask_eff_mapping_range_type(
1205  tag_t mapping,
1206  int* range_type
1207  );
1208 
1209 extern CFM_API int CFM_ask_eff_mapping_unit_range(
1210  tag_t mapping,
1211  char** range_text
1212  );
1213 
1214 extern CFM_API int CFM_ask_eff_mapping_units(
1215  tag_t mapping,
1216  int* n_units,
1217  int** start_end_values,
1218  int* open_ended_or_stock_out
1219  );
1220 
1221 extern CFM_API int CFM_ask_eff_mapping_date_range(
1222  tag_t mapping,
1223  char** range_text
1224  );
1225 
1226 extern CFM_API int CFM_ask_eff_mapping_dates(
1227  tag_t mapping,
1228  int* n_dates,
1229  date_t** start_end_values,
1230  int* open_ended_or_stock_out
1231  );
1232 
1233 extern CFM_API int CFM_ask_eff_mapping_subenditem(
1234  tag_t mapping,
1235  tag_t* subenditem
1236  );
1237 extern CFM_API int CFM_ask_eff_mapping_subenditemrev(
1238  tag_t mapping,
1239  tag_t* subenditemrev
1240  );
1241 extern CFM_API int CFM_ask_eff_mapping_subunit(
1242  tag_t mapping,
1243  int* subunit
1244  );
1245 extern CFM_API int CFM_ask_eff_mapping_subdate(
1246  tag_t mapping,
1247  date_t* subdate
1248  );
1249 
1258 extern CFM_API int CFM_rule_modifier_ask_enditem(
1259  tag_t modifier,
1260  tag_t* enditem
1261  );
1262 extern CFM_API int CFM_rule_modifier_ask_enditemrev(
1263  tag_t modifier,
1264  tag_t* enditemrev
1265  );
1266 extern CFM_API int CFM_rule_modifier_ask_unit(
1267  tag_t modifier,
1268  int* unit
1269  );
1270 extern CFM_API int CFM_rule_modifier_ask_date(
1271  tag_t modifier,
1272  date_t* date
1273  );
1274 
1277 /*================================================================================================*/
1278 
1279 #ifdef __cplusplus
1280 }
1281 #endif
1282 
1283 #include <cfm/libcfm_undef.h>
1284 #endif