ITK Function Reference
(V10000.1.0.60_20160308.00)
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
cfm
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