ITK Function Reference

(V10000.1.0.60_20160308.00)
pie.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 PIE_H
15 #define PIE_H
16 
17 #include <tc/tc_startup.h>
18 
19 #include <tccore/workspaceobject.h>
20 #include <pie/libpie_exports.h>
21 
43 #define PIE_name_size_c 32
44 #define PIE_context_size_c 240
45 #define PIE_desc_size_c 240
46 #define CLAUSE_DELIMITERS ":."
47 #define PIE_COLON_DELIMITER ":"
48 #define PIE_DOT_DELIMITER "."
49 #define PIE_WILD_CARD_ASTERIX "*"
50 
51 #define CLAUSE_TYPE_STR "TYPE"
52 #define CLAUSE_CLASS_STR "CLASS"
53 #define CLAUSE_PROPERTY_STR "PROPERTY"
54 #define CLAUSE_ATTRIBUTE_STR "ATTRIBUTE"
55 #define CLAUSE_RELATION_STR "RELATION"
56 #define CLAUSE_RELATIONP2S_STR "RELATIONP2S"
57 #define CLAUSE_RELATIONS2P_STR "RELATIONS2P"
58 #define CLAUSE_REFBY_STR "REFBY"
59 #define CLAUSE_OCCTYPE_STR "OCCTYPE"
60 #define CLAUSE_CONTENT_STR "CONTENT"
61 #define CLAUSE_FUNCTION_STR "FUNCTION"
62 
63 #define PROCESS_DIRECTIVE "PROCESS"
64 #define NOPROCESS_TRAVERSE_DIRECTIVE "TRAVERSE_NO_PROCESS"
65 #define PROCESS_AND_TRAVERSE_DIRECTIVE "TRAVERSE_AND_PROCESS"
66 
67 #define CLAUSE_PROPERTY_RULE_DO_STR "DO"
68 #define CLAUSE_PROPERTY_RULE_SKIP_STR "SKIP"
69 #define CLAUSE_PROPERTY_RULE_SKIP_GRM_STR "SKIP_GRM"
70 
72 #define CLAUSE_PROPERTY_RULE_STUB_KEY_STR "STUB_KEY"
73 
75 #define CLAUSE_PROPERTY_RULE_CAND_KEY_STR "CAND_KEY"
76 
77 #define TRANSIENT_VOLUME_ROOTDIR "Transient_Volume_RootDir"
78 
82 typedef enum PIE_type_e
83 {
84  PIE_class = 0,
86 } PIE_type_t;
87 
92 {
98  PIE_all = 5,
103 
112 typedef enum PIE_rule_type_e
113 {
114  PIE_skip = 1,
120 
125 {
131 
135 typedef enum PIE_direction_e
136 {
141 
145 typedef enum PIE_schema_e
146 {
150 } PIE_schema_t;
151 
155 #define PIE_TcPLMXML_schema PIE_TcXML_schema
156 
161 {
166 
170 typedef enum PIE_scope_e
171 {
174 } PIE_scope_t;
175 
176 typedef enum PIE_action_e
177 {
181 } PIE_action_t;
182 
187 {
189  PIE_NEW = 1,
190  PIE_MOD = 2,
202  PIE_POMCLASS = 1024,
203  PIE_DEL = 10,
207 
212 {
216 
217 
218 #ifdef __cplusplus
219  extern "C"{
220 #endif
221 
226 extern PIE_API int PIE_find_transfer_mode(
227  const char transfer_mode_name[WSO_name_size_c +1],
228  const char context_string[PIE_context_size_c +1],
229  int* n_transfer_mode_tags,
230  tag_t** transfer_mode_tags
231  );
232 
236 extern PIE_API int PIE_find_transfer_mode2(
237  const char *transfer_mode_name,
238  const char *context_string,
239  int* n_transfer_mode_tags,
240  tag_t** transfer_mode_tags
241  );
242 
243 extern PIE_API int PIE_extent_transfer_modes(
244  int* n_transfer_modes,
245  tag_t** transfer_modes
246  );
247 
252 extern PIE_API int PIE_create_transfer_mode_instance(
253  const char transfer_mode_name[WSO_name_size_c +1],
254  const char transfer_mode_desc[WSO_desc_size_c +1],
255  const char context_string[PIE_context_size_c +1],
256  tag_t* transfer_mode
257  );
258 
262 extern PIE_API int PIE_create_transfer_mode_instance2(
263  const char *transfer_mode_name,
264  const char *transfer_mode_desc,
265  const char *context_string,
266  tag_t* transfer_mode
267  );
268 
269 
274 extern PIE_API int PIE_transfer_mode_get_context_string(
275  tag_t transfer_mode,
276  char context_string[PIE_context_size_c + 1]
277  );
278 
279 
280 extern PIE_API int PIE_transfer_mode_get_context_string2(
281  tag_t transfer_mode,
282  char **context_string
283  );
284 
289 extern PIE_API int PIE_transfer_mode_set_context_string(
290  tag_t transfer_mode,
291  const char context_string[PIE_context_size_c +1]
292  );
293 
294 
295 extern PIE_API int PIE_transfer_mode_set_context_string2(
296  tag_t transfer_mode,
297  const char *context_string
298  );
299 
300 extern PIE_API int PIE_transfer_mode_set_xslt(
301  tag_t transfer_mode,
302  int n_files,
303  tag_t* xslt_files
304  );
305 
306 extern PIE_API int PIE_transfer_mode_remove_xslt(
307  tag_t transfer_mode,
308  tag_t xslt_file
309  );
310 
311 extern PIE_API int PIE_transfer_mode_get_xslt(
312  tag_t transfer_mode,
313  int* n_files,
314  tag_t** xslt_files
315  );
316 
317 extern PIE_API int PIE_transfer_mode_get_direction(
318  tag_t transfer_mode,
319  PIE_direction_t* direction
320  );
321 
322 extern PIE_API int PIE_transfer_mode_set_direction(
323  tag_t transfer_mode,
324  PIE_direction_t direction
325  );
326 
327 extern PIE_API int PIE_transfer_mode_get_schema_format(
328  tag_t transfer_mode,
329  PIE_schema_t* schema_format
330  );
331 
332 extern PIE_API int PIE_transfer_mode_set_schema_format(
333  tag_t transfer_mode,
334  PIE_schema_t schema_format
335  );
336 
337 extern PIE_API int PIE_transfer_mode_get_incremental(
338  tag_t transfer_mode,
339  logical* incremental
340  );
341 
342 extern PIE_API int PIE_transfer_mode_set_incremental(
343  tag_t transfer_mode,
344  logical incremental
345  );
346 
347 extern PIE_API int PIE_transfer_mode_get_multisite(
348  tag_t transfer_mode, /* <I> */
349  logical *multisite /* <O> */
350  );
351 
352 extern PIE_API int PIE_transfer_mode_set_multisite(
353  tag_t transfer_mode, /* <I> */
354  logical multisite /* <I> */
355  );
356 
357 extern PIE_API int PIE_transfer_mode_get_closures(
358  tag_t transfer_mode,
359  tag_t* closure
360  );
361 
362 extern PIE_API int PIE_transfer_mode_set_closures(
363  tag_t transfer_mode,
364  tag_t closure
365  );
366 
367 extern PIE_API int PIE_transfer_mode_get_filters(
368  tag_t transfer_mode,
369  tag_t* filter
370  );
371 
372 extern PIE_API int PIE_transfer_mode_set_filters(
373  tag_t transfer_mode,
374  tag_t filter
375  );
376 
377 extern PIE_API int PIE_transfer_mode_load_defaults(
378  tag_t transfer_mode
379  );
380 
381 extern PIE_API int PIE_transfer_mode_get_prop_set(
382  tag_t transfer_mode,
383  tag_t* prop_set
384  );
385 
386 extern PIE_API int PIE_transfer_mode_set_prop_set(
387  tag_t transfer_mode,
388  tag_t prop_set
389  );
390 
391 extern PIE_API int PIE_transfer_mode_get_config_objs(
392  tag_t transfer_mode,
393  int* n_config_objs,
394  tag_t** config_objs
395  );
396 
397 extern PIE_API int PIE_transfer_mode_set_config_objs(
398  tag_t transfer_mode,
399  int n_config_objs,
400  tag_t* config_objs
401  );
402 
403 extern PIE_API int PIE_transfer_mode_get_action_list(
404  tag_t transfer_mode,
405  int* n_action_list_objs,
406  tag_t** action_list_objs
407  );
408 
409 extern PIE_API int PIE_transfer_mode_set_action_list(
410  tag_t transfer_mode,
411  int n_action_list_objs,
412  tag_t* action_list_objs
413  );
414 
419 extern PIE_API int PIE_create_closure_rules(
420  const char name[PIE_name_size_c + 1],
421  const char desc[PIE_desc_size_c + 1],
422  PIE_scope_t scope,
423  tag_t* closure_tag
424  );
425 
429 extern PIE_API int PIE_create_closure_rules2(
430  const char *name,
431  const char *desc,
432  PIE_scope_t scope,
433  tag_t* closure_tag
434  );
435 
436 extern PIE_API int PIE_closure_add_rule_clause(
437  tag_t closure_tag,
438  PIE_type_t p_class_or_type,
439  const char* p_name,
440  PIE_connection_type_t c_type,
441  const char* c_name,
442  const char* prop_name,
443  PIE_type_t s_class_or_type,
444  const char* s_name,
445  PIE_rule_type_t rule_type
446  );
447 
448 extern PIE_API int PIE_closure_set_rule_clause(
449  tag_t closure_tag,
450  int index,
451  PIE_type_t p_class_or_type,
452  const char* p_name,
453  PIE_connection_type_t c_type,
454  const char* c_name,
455  const char* prop_name,
456  PIE_type_t s_class_or_type,
457  const char* s_name,
458  PIE_rule_type_t rule_type
459  );
460 
465 extern PIE_API int PIE_describe_closure_rule(
466  tag_t closure_tag,
467  char name[PIE_name_size_c + 1],
468  char desc[PIE_desc_size_c + 1],
469  PIE_scope_t* scope,
470  int* n_clauses
471  );
472 
476 extern PIE_API int PIE_describe_closure_rule2(
477  tag_t closure_tag,
478  char **name,
479  char **desc,
480  PIE_scope_t* scope,
481  int* n_clauses
482  );
483 
484 extern PIE_API int PIE_closure_get_rule_clause(
485  tag_t closure_tag,
486  int index,
487  PIE_type_t* p_class_or_type,
488  char** p_name,
489  PIE_connection_type_t* c_type,
490  char** c_name,
491  char** prop_name,
492  PIE_type_t* s_class_or_type,
493  char** s_name,
494  PIE_rule_type_t* rule_type
495  );
496 
497 
502 extern PIE_API int PIE_find_closure_rules(
503  const char name[PIE_name_size_c + 1],
504  PIE_scope_t scope,
505  int* n_closure_tags,
506  tag_t** closure_tags
507  );
508 
512 extern PIE_API int PIE_find_closure_rules2(
513  const char *name,
514  PIE_scope_t scope,
515  int* n_closure_tags,
516  tag_t** closure_tags
517  );
518 
523 extern PIE_API int PIE_create_filter(
524  const char name[PIE_name_size_c + 1],
525  const char desc[PIE_desc_size_c + 1],
526  PIE_scope_t scope,
527  tag_t* filter
528  );
529 
533 extern PIE_API int PIE_create_filter2(
534  const char *name,
535  const char *desc,
536  PIE_scope_t scope,
537  tag_t* filter
538  );
539 
544 extern PIE_API int PIE_find_filter(
545  const char name[PIE_name_size_c + 1],
546  PIE_scope_t scope,
547  int* n_filter_tags,
548  tag_t** filter_tags
549  );
550 
551 
552 extern PIE_API int PIE_find_filter2(
553  const char *name,
554  PIE_scope_t scope,
555  int* n_filter_tags,
556  tag_t** filter_tags
557  );
558 
563 extern PIE_API int PIE_describe_filter(
564  tag_t filter_tag,
565  char name[PIE_name_size_c + 1],
566  char desc[PIE_desc_size_c + 1],
567  PIE_scope_t* scope,
568  int* n_clauses
569  );
570 
574 extern PIE_API int PIE_describe_filter2(
575  tag_t filter_tag,
576  char **name,
577  char **desc,
578  PIE_scope_t* scope,
579  int* n_clauses
580  );
581 
582 extern PIE_API int PIE_filter_add_clause(
583  tag_t filter,
584  PIE_type_t type_or_class,
585  const char* p_name,
586  const char* filter_name
587  );
588 
589 extern PIE_API int PIE_filter_get_clause(
590  tag_t filter,
591  int index,
592  PIE_type_t* type_or_class,
593  char** p_name,
594  char** filter_name
595  );
596 
606 extern PIE_API int PIE_create_action(
607  const char name[PIE_name_size_c + 1],
608  const char desc[PIE_desc_size_c + 1],
609  PIE_scope_t scope,
610  PIE_action_t type,
611  const char* actionName,
612  tag_t* action
613  );
614 
618 extern PIE_API int PIE_create_action2(
619  const char *name,
620  const char *desc,
621  PIE_scope_t scope,
622  PIE_action_t type,
623  const char* actionName,
624  tag_t* action
625  );
626 
631 extern PIE_API int PIE_find_action(
632  const char name[PIE_name_size_c + 1],
633  PIE_scope_t scope,
634  int* n_action_tags,
635  tag_t** action_tags
636  );
637 
638 
639 extern PIE_API int PIE_find_action2(
640  const char *name,
641  PIE_scope_t scope,
642  int* n_action_tags,
643  tag_t** action_tags
644  );
645 
650 extern PIE_API int PIE_describe_action(
651  tag_t action_tag,
652  char name[PIE_name_size_c + 1],
653  char desc[PIE_desc_size_c + 1],
654  PIE_scope_t* scope,
655  PIE_action_t* type,
656  char** actionName
657  );
658 
662 extern PIE_API int PIE_describe_action2(
663  tag_t action_tag,
664  char **name,
665  char **desc,
666  PIE_scope_t* scope,
667  PIE_action_t* type,
668  char** actionName
669  );
670 
671 extern PIE_API int PIE_action_set_func_name(
672  tag_t action,
673  const char* func_name
674  );
675 
676 extern PIE_API int PIE_action_get_func_name(
677  tag_t action,
678  char** func_name
679  );
680 
692 extern PIE_API int PIE_create_prop_set(
693  const char name[PIE_name_size_c + 1],
694  const char desc[PIE_desc_size_c + 1],
695  PIE_scope_t scope,
696  tag_t* prop_set
697  );
698 
702 extern PIE_API int PIE_create_prop_set2(
703  const char *name,
704  const char *desc,
705  PIE_scope_t scope,
706  tag_t* prop_set
707  );
708 
713 extern PIE_API int PIE_find_prop_set(
714  const char name[PIE_name_size_c + 1],
715  PIE_scope_t scope,
716  int* n_propset_tags,
717  tag_t** propset_tags
718  );
719 
723 extern PIE_API int PIE_find_prop_set2(
724  const char *name,
725  PIE_scope_t scope,
726  int* n_propset_tags,
727  tag_t** propset_tags
728  );
729 
730 extern PIE_API int PIE_prop_add_clause(
731  tag_t prop_set,
732  PIE_type_t type_or_class,
733  const char* p_name,
734  PIE_connection_type_t prop_or_attr,
735  const char* a_name,
736  PIE_prop_rule_type_t rule_type
737  );
738 
743 extern PIE_API int PIE_describe_prop_set(
744  tag_t prop_set,
745  char name[PIE_name_size_c + 1],
746  char desc[PIE_desc_size_c + 1],
747  PIE_scope_t* scope,
748  int* n_clauses
749  );
750 
754 extern PIE_API int PIE_describe_prop_set2(
755  tag_t prop_set,
756  char **name,
757  char **desc,
758  PIE_scope_t* scope,
759  int* n_clauses
760  );
761 
762 extern PIE_API int PIE_prop_get_clause(
763  tag_t prop_set,
764  int index,
765  PIE_type_t* type_or_class,
766  char** p_name,
767  PIE_connection_type_t* prop_or_attr,
768  char** a_name,
769  PIE_prop_rule_type_t* rule_type
770  );
771 
787 extern PIE_API int PIE_find_transfer_option_set(
788  const char *transfer_option_set_name,
789  int* num_transfer_option_set_tags,
790  tag_t** transfer_option_set_tags
791  );
792 
793 
802 extern PIE_API int PIE_get_available_transfer_option_sets(
803  tag_t user,
804  tag_t group,
805  tag_t role,
806  int n_sites,
807  tag_t * sites,
808  logical is_push,
809  logical is_export,
810  int * n_optionsets,
811  tag_t ** option_set_objs
812  );
813 
818 extern PIE_API int PIE_describe_option_set(
819  tag_t option_set_tag,
820  char option_set_name[WSO_name_size_c + 1],
821  char option_set_description[WSO_desc_size_c + 1],
822  tag_t* transfermode,
823  char transfermode_name[WSO_name_size_c + 1],
824  tag_t* site,
825  int* n_options,
826  char*** option_names,
827  char*** option_display_names,
828  char*** option_values,
829  char*** option_descriptions,
830  char*** option_group_names,
831  logical** option_read_only_flags
832  );
833 
837 extern PIE_API int PIE_describe_option_set2(
838  tag_t option_set_tag,
839  char **option_set_name,
840  char **option_set_description,
841  tag_t* transfermode,
842  char **transfermode_name,
843  tag_t* site,
844  int* n_options,
845  char*** option_names,
846  char*** option_display_names,
847  char*** option_values,
848  char*** option_descriptions,
849  char*** option_group_names,
850  logical** option_read_only_flags
851  );
852 
860 extern PIE_API int PIE_create_session(
861  tag_t* session
862  );
863 
864 extern PIE_API int PIE_create_session_for_ai(
865  tag_t request,
866  tag_t* session
867  );
868 
869 extern PIE_API int PIE_session_set_file(
870  tag_t session,
871  const char* file_name
872  );
873 
874 extern PIE_API int PIE_session_ask_file(
875  tag_t session,
876  const char** file_name
877  );
878 
879 extern PIE_API int PIE_session_set_log_file(
880  tag_t session,
881  const char* file_name
882  );
883 
884 extern PIE_API int PIE_session_ask_transfer_mode(
885  tag_t session,
886  tag_t* transfer_mode
887  );
888 
889 extern PIE_API int PIE_session_set_transfer_mode(
890  tag_t session,
891  tag_t transfer_mode
892  );
893 
894 extern PIE_API int PIE_session_set_revision_rule(
895  tag_t session,
896  tag_t revision_rule
897  );
898 
899 extern PIE_API int PIE_session_export_objects(
900  tag_t session,
901  int n_objs,
902  tag_t* obj_list
903  );
904 
905 extern PIE_API int PIE_session_get_target_pathname(
906  tag_t session,
907  char** pathname
908  );
909 
910 extern PIE_API int PIE_session_set_target_pathname(
911  tag_t session,
912  char* pathname
913  );
914 
915 extern PIE_API int PIE_session_get_incremental_change(
916  tag_t session, /* <I> */
917  tag_t *incremental_change /* <O> */
918  );
919 
920 extern PIE_API int PIE_session_set_incremental_change(
921  tag_t session, /* <I> */
922  tag_t incremental_change /* <I> */
923  );
924 
925 extern PIE_API int PIE_session_set_edit_targets(
926  tag_t session,
927  int num_tags,
928  tag_t* tags_allowed_to_edit
929  );
930 
936 extern PIE_API int PIE_session_set_ic_exclusion_list(
937  tag_t session,
938  int num_tags,
939  tag_t* ic_tags_to_exclude
940  );
941 
945 extern PIE_API int PIE_session_import_objects(
946  tag_t session,
947  logical dry_run,
948  int* n_objs,
949  tag_t** obj_list
950  );
951 
952 extern PIE_API int PIE_session_get_rule_types(
953  tag_t session,
954  int* n_types,
955  char*** typeNames
956  );
963 extern PIE_API int PIE_session_get_log_lines(
964  tag_t session,
965  int* n_lines,
966  char*** log_lines
967  );
972 extern PIE_API int PIE_session_get_errors(
973  tag_t session,
974  int* n_errors,
975  tag_t** error_objs,
976  int** error_codes
977  );
982 extern PIE_API int PIE_session_get_import_errors(
983  tag_t session,
984  int* n_errors,
985  char*** error_ids,
986  int** error_codes
987  );
988 
989 extern PIE_API int PIE_delete_session(
990  tag_t session
991  );
992 
993 extern PIE_API int PIE_session_add_info(
994  tag_t session,
995  int n_strings,
996  char** titles,
997  char** values
998  );
999 
1000 extern PIE_API int PIE_session_ask_info(
1001  tag_t session,
1002  int* n_strings,
1003  char*** titles,
1004  char*** values
1005  );
1012 extern PIE_API int PIE_session_set_xslt(
1013  tag_t session,
1014  logical override,
1015  int n_files,
1016  tag_t* xslt_files
1017  );
1024 extern PIE_API int PIE_session_get_xslt(
1025  tag_t session,
1026  logical* override,
1027  int* n_files,
1028  tag_t** xslt_files
1029  );
1030 
1031 extern PIE_API int PIE_session_get_user_xslt_file(
1032  tag_t session,
1033  char** user_xslt_fname
1034  );
1035 
1036 extern PIE_API int PIE_session_set_user_xslt_file(
1037  tag_t session,
1038  const char* user_xslt_fname
1039  );
1040 
1045 extern PIE_API int PIE_session_get_export_locales(
1046  tag_t session,
1047  int *exportlocaleCount,
1048  char ***exportLocales
1049  );
1050 
1057 extern PIE_API int PIE_session_set_export_locales(
1058  tag_t session,
1059  const int exportlocaleCount,
1060  char **exportLocales
1061  );
1062 
1066 extern PIE_API int PIE_session_get_plmxml_document(
1067  tag_t session,
1068  void **plmxmlDoc
1069  );
1070 
1075 extern PIE_API int PIE_session_update_processed_object(
1076  tag_t session,
1077  tag_t obj,
1078  void *plmxmlObj,
1079  int failCode
1080  );
1081 
1085 extern PIE_API int PIE_session_get_processed_plmxml_object(
1086  tag_t session,
1087  tag_t obj,
1088  void **plmxmlObj,
1089  int *failCode
1090  );
1091 
1095 extern PIE_API int PIE_session_get_processed_tc_object(
1096  tag_t session,
1097  void *plmxmlObj,
1098  tag_t *obj,
1099  int *failCode
1100  );
1101 
1109 extern PIE_API int PIE_create_delta_info(
1110  tag_t* delta_info
1111  );
1112 
1113 extern PIE_API int PIE_create_bom_delta_info(
1114  tag_t* piebomdeltainfo
1115  );
1116 
1117 extern PIE_API int PIE_add_delta_objects(
1118  tag_t delta_info,
1119  int n_objs,
1120  tag_t* objs
1121  );
1122 
1123 extern PIE_API int PIE_get_delta_adds(
1124  tag_t delta_info,
1125  int* n_objs,
1126  tag_t** added_objs
1127  );
1128 
1129 extern PIE_API int PIE_get_delta_deletes(
1130  tag_t delta_info,
1131  int* n_objs,
1132  tag_t** deleted_objs
1133  );
1134 
1135 extern PIE_API int PIE_get_delta_modifications(
1136  tag_t delta_info,
1137  int* n_objs,
1138  tag_t** modified_objs
1139  );
1140 
1141 extern PIE_API int PIE_create_delta_session(
1142  tag_t old_xml_file,
1143  char* targetPathName,
1144  tag_t* session
1145  );
1146 
1147 extern PIE_API int PIE_merge_delta_to_base(
1148  tag_t session,
1149  tag_t* merged_xml_file
1150  );
1151 
1155 extern PIE_API int PIE__compare_set_visitor(
1156  tag_t diff_set,
1157  int depth,
1158  void* user_data
1159  );
1160 
1162 extern PIE_API int PIE_find_object_by_appref(
1163  char *appuid,
1164  char *appl,
1165  char *site,
1166  char *ver,
1167  int *count,
1168  tag_t **found
1169  );
1170 
1171 
1180 /*
1181  * External User exits import/export methods support
1182  */
1186 typedef int (* PIE_user_method_func_t)( void *);
1187 typedef struct PIEUserMethodList_s
1188 {
1189  const char *contextStr; /* Context String */
1190  const char *name; /* Class or type name */
1191  PIE_user_method_func_t func; /* User method */
1193 
1194 
1195 extern PIE_API int PIE_register_user_methods(
1196  void* listUserMethods,
1197  int n_methods
1198  );
1199 
1203 typedef struct
1204 {
1205  char *teamcenterObject; /* Class name of Teamcenter object */
1206  char *plmxml_class; /* Class name of plmxml object */
1207  char *teamcenterProperty; /* Property name of Teamcenter object */
1208  char *plmxmlAttribute; /* Attribute name of plmxml object */
1209  logical addToParent; /* Flag to add to parent */
1211 
1212 
1213 extern PIE_API int PIE_register_user_schema(
1214  void* listUserSchemas,
1215  int n_schemas
1216  );
1217 
1221 typedef int (* PIE_user_action_func_t)( tag_t );
1222 
1223 extern PIE_API int PIE_register_user_action (
1224  char* handleName,
1225  PIE_user_action_func_t user_m
1226  );
1227 
1228 
1233 
1234 extern PIE_API int PIE_register_user_filter (
1235  char* filterRuleName,
1236  PIE_user_filter_func_t user_m
1237  );
1238 
1248 extern PIE_API int PIE_get_class_from_callpath(
1249  void *userPath,
1250  char **calledClass
1251  );
1252 
1257 extern PIE_API int PIE_get_type_from_callpath(
1258  void *userPath,
1259  char **calledType
1260  );
1261 
1266 extern PIE_API int PIE_get_obj_from_callpath(
1267  void *userPath,
1268  tag_t *objTag
1269  );
1270 
1275 extern PIE_API int PIE_get_plmxmlobj_from_callpath(
1276  void *userPath,
1277  void **plmxmlobj
1278  );
1279 
1284 extern PIE_API int PIE_get_prior_callpath(
1285  void *userPath,
1286  void **prev_userPath
1287  );
1288 
1293 extern PIE_API int PIE_find_callpath_by_class(
1294  void *userPath,
1295  char *className,
1296  void **calledPath
1297  );
1298 
1303 extern PIE_API int PIE_find_callpath_by_type(
1304  void *userPath,
1305  char *typeName,
1306  void **calledPath
1307  );
1308 
1313 extern PIE_API int PIE_get_transfermode(
1314  void *userPath,
1315  tag_t *transMode
1316  );
1317 
1322 extern PIE_API int PIE_get_session(
1323  void *userPath,
1324  tag_t *session
1325  );
1326 
1331 extern PIE_API int PIE_get_relation_type(
1332  void *userPath,
1333  char **relType
1334  );
1335 
1340 extern PIE_API int PIE_get_relation_name(
1341  void *userPath,
1342  char **relName
1343  );
1346 extern PIE_API int PIE_create_working_dir(
1347  char **dirName
1348  );
1349 
1350 extern PIE_API int PIE_ensure_file_readable(
1351  char *path
1352  );
1353 
1354 extern PIE_API int PIE_send_socket_message(
1355  const char *message,
1356  char *host_n_port,
1357  int *response
1358  );
1359 
1369 extern PIE_API int PIE_get_application_reference_label(
1370  tag_t object,
1371  char** label,
1372  char** version
1373  );
1374 
1375 #ifdef __cplusplus
1376 }
1377 #endif
1378 
1379 #include <pie/libpie_undef.h>
1380 
1381 #endif
1382