ITK Function Reference

(V10000.1.0.60_20160308.00)
tctype.h
Go to the documentation of this file.
1 /*==============================================================================
2  Copyright (c) 2003-2005,2008 UGS Corporation
3  Unpublished - All Rights Reserved
4  ==============================================================================*/
5 
13 /* */
14 
15 #ifndef TCTYPE_H
16 #define TCTYPE_H
17 
18 #include <property/prop.h>
19 #include <tccore/tctype_msg.h>
20 #include <user_exits/user_exits.h>
21 #include <tccore/libtccore_exports.h>
22 
47 #define TC_set_id_msg "IMAN_set_id"
48 #define TC_set_name_msg "IMAN_set_name"
49 #define TC_set_description_msg "IMAN_set_description"
50 #define TC_set_type_msg "IMAN_set_type"
51 #define TC_set_type_directly_msg "IMAN_set_type_directly"
52 
60 #define TCTYPE_name_size_c 32
61 #define TCTYPE_class_name_size_c 27
62 
70 #define TCTYPE_DISABLE_UPDATE_LIST 0
71 #define TCTYPE_ENABLE_UPDATE_LIST 1
72 #define TCTYPE_SUSPEND_UPDATE_LIST 2
73 #define TCTYPE_RESUME_UPDATE_LIST 3
74 
78 #define TCTYPE_UPDATE_ALL_PROPS "_update_all_"
79 
80 typedef enum TCTYPE_display_e {
87 
97 typedef enum TCTYPE_category_e {
105 
106 typedef struct TCTYPE_availablerel_s
107 {
108  char* actualName;
109  char* displayName;
111 
116 {
121 
127 {
133 
139 {
147 
148 #ifdef __cplusplus
149 extern "C"{
150 #endif
151 
158 extern TCCORE_API int TCTYPE_init_module();
159 
160 extern TCCORE_API int TCTYPE_exit_module();
161 
165 extern TCCORE_API int TCTYPE_refresh(
166  tag_t type_tag,
167  logical lock_or_not
168  );
169 
176 extern TCCORE_API int TCTYPE_ask_name(
177  tag_t type_tag,
178  char type_name[TCTYPE_name_size_c+1]
179  );
180 
184 extern TCCORE_API int TCTYPE_ask_name2(
185  tag_t type_tag,
186  char **type_name
187  );
188 
195 extern TCCORE_API int TCTYPE_ask_type(
196  const char* type_name,
197  tag_t* type_tag
198  );
199 
200 
204 extern TCCORE_API int TCTYPE_ask_display_name(
205  tag_t type_tag,
206  char** display_type_name
207  );
208 
215 extern TCCORE_API int TCTYPE_ask_class_name(
216  tag_t type_tag,
217  char type_class[TCTYPE_class_name_size_c+1]
218  );
219 
223 extern TCCORE_API int TCTYPE_ask_class_name2(
224  tag_t type_tag,
225  char **type_class
226  );
227 
231 extern TCCORE_API int TCTYPE_ask_object_type(
232  tag_t obj_tag,
233  tag_t* type_tag
234  );
235 
243 extern TCCORE_API int TCTYPE_ask_object_types(
244  int number_of_objects,
245  const tag_t* obj_tags,
246  tag_t** types
247  );
248 
253 extern TCCORE_API int TCTYPE_ask_object_type_with_stubs(
254  tag_t obj_tag,
255  tag_t* type_tag
256  );
257 
258 
265 extern TCCORE_API int TCTYPE_find_type(
266  const char* type_name,
267  const char* class_name,
268  tag_t* type_tag
269  );
270 
274 extern TCCORE_API int TCTYPE_find_types_for_class(
275  const char* class_name,
276  int* number_of_types,
277  tag_t** type_tags
278  );
279 
285 extern TCCORE_API int TCTYPE_find_displayable_types_for_class(
286  const char* class_name,
287  logical include_subclasses,
291  int* number_of_types,
292  tag_t** type_tags
293  );
294 
301 extern TCCORE_API int TCTYPE_UIF_find_displayable_types_for_class(
302  const char* class_name,
303  logical include_subclasses,
307  int* number_of_types,
308  tag_t** type_tags,
309  char*** type_names,
310  char*** display_type_names
311  );
312 
320  const char* class_name,
321  tag_t accessor_tag,
322  logical include_subclasses,
326  int* number_of_types,
327  tag_t** type_tags
328  );
329 
338  const char* class_name,
339  tag_t accessor_tag,
340  logical include_subclasses,
344  int* number_of_types,
345  tag_t** type_tags,
346  TCTYPE_display_t** details
349  );
350 
351 extern TCCORE_API int TCTYPE_find_alltypes_for_class(
352  const char* class_name,
353  int* number_of_types,
354  tag_t** type_tags
355  );
356 
360 extern TCCORE_API logical TCTYPE_is_extent_already_called();
361 
362 /* Note:If you want to make sure all types are loaded and don't need the type_tags, call TCTYPE_is_extent_already_called
363 first to see if TCTYPE_extent is already called. Call TCTYPE_extent only if is has not been called */
364 extern TCCORE_API int TCTYPE_extent(
365  int* number_of_types,
366  tag_t** type_tags
367  );
368 
369 
374 extern TCCORE_API int TCTYPE_list_properties(
375  tag_t type_tag,
376  int* num,
377  tag_t** pd_tags
378  );
379 
383 extern TCCORE_API int TCTYPE_ask_property_by_name(
384  tag_t type_tag,
385  const char* prop_name,
386  tag_t* pd_tag
387  );
388 
401 extern TCCORE_API int TCTYPE_property_exists(
402  tag_t type_tag,
403  const char* prop_name,
404  logical* verdict
405  );
406 
411 extern TCCORE_API int TCTYPE_ask_property_by_display_name(
412  tag_t type_tag,
413  const char* disp_name,
414  tag_t* pd_tag
415  );
416 
425 extern TCCORE_API int TCTYPE_add_runtime_property(
426  tag_t type_tag,
427  const char* prop_name,
433  PROP_value_type_t valuetype,
436  int maxstrlen,
438  tag_t* pd_tag
439  );
440 
450 extern TCCORE_API int TCTYPE_add_runtime_array_property(
451  tag_t type_tag,
452  const char* prop_name,
458  PROP_value_type_t valuetype,
461  int maxstrlen,
463  int maxnumelements,
465  tag_t* pd_tag
466  );
467 
475 extern TCCORE_API int TCTYPE_add_relation_property(
476  tag_t type_tag,
477  const char* prop_name,
483  tag_t rel_type,
484  tag_t* pd_tag
485  );
486 
496 extern TCCORE_API int TCTYPE_list_primary_rtypes(
497  tag_t primary_type,
498  int* n_rtypes,
499  tag_t** rtypes
500  );
501 
512 extern TCCORE_API int TCTYPE_register_properties(
513  USER_prop_init_entry_t* user_types_methods,
517  int array_size
518  );
519 
523 extern TCCORE_API int TCTYPE_list_displayable_properties(
524  tag_t type_tag,
525  int* num,
526  tag_t** pd_tags
527  );
528 
529 extern TCCORE_API int TCTYPE_ask_available_relations(
530  tag_t type_tag,
531  int* relationCount,
532  TCTYPE_availablerel_t** relationNames
533  );
534 
535 extern TCCORE_API int TCTYPE_ask_available_relation_names(
536  tag_t type_tag,
537  int* relationNameCount,
538  char*** relationDisplayNames,
539  char*** relationActualNames
540  );
541 
545 extern TCCORE_API int TCTYPE_ask_parent_type(
546  tag_t type_tag,
547  tag_t *parent_type_tag
548  );
549 
559 extern TCCORE_API int TCTYPE_is_type_of (
560  tag_t type,
561  tag_t parent_type,
562  logical * answer
563  );
564 
575 extern TCCORE_API int TCTYPE_is_type_of_as_str(
576  tag_t type_tag,
577  const char* parent_type_name,
578  logical* answer
579  );
580 
589 extern TCCORE_API int TCTYPE_ask_subtypes(
590  tag_t type_tag,
591  logical forSameClassOnly,
592  int * numOfSubtypes,
593  tag_t ** listOfSubtypes
594  );
595 
607 extern TCCORE_API int TCTYPE_ask_subtypes_with_exclusions(
608  tag_t type_tag,
609  logical for_same_class_only,
610  int n_exclusion_bo_names,
611  const char** exclusion_bo_names,
612  int * num_of_sub_types,
613  tag_t ** list_of_sub_types
614  );
615 
626 extern TCCORE_API int TCTYPE_ask_child_types(
627  tag_t type_tag,
628  logical forSameClassOnly,
629  int * numOfChildTypes,
630  tag_t ** listOfChildTypes
631  );
632 
637 extern TCCORE_API int TCTYPE_ask_child_primary_types (
638  tag_t type_tag,
639  int * numOfChildTypes,
640  tag_t ** listOfChildTypes
641  );
642 
646 extern TCCORE_API int TCTYPE_load_all_delayed_types() ;
647 
651 extern TCCORE_API int TCTYPE_ask_create_descriptor(
652  tag_t boTypeTag,
653  tag_t* createDescTag
654 );
655 
656 
660 extern TCCORE_API int TCTYPE_ask_saveas_descriptor(
661  tag_t objectTypeTag,
662  tag_t* saveAsDescTag
663  );
664 
668 extern TCCORE_API int TCTYPE_ask_target_deepcopydata(
669  tag_t objectTag,
670  int *numAttachedObjs,
671  tag_t** deepCopyDataTags
672 );
673 
677 extern TCCORE_API int TCTYPE_ask_create_prop_descriptors(
678  tag_t createDescTag,
679  int* n_propDescTags,
680  tag_t** propDescTags,
681  int* n_secPropNames,
682  char*** secPropNames,
683  tag_t** secBOTypeTags,
684  logical** isRequired,
685  logical** isArray,
686  int** compoundingCtxts,
687  tag_t** secCreateDescTags
688 );
689 
693 extern TCCORE_API int TCTYPE_ask_saveas_prop_descriptors(
694  tag_t saveasDescTag,
695  int* n_propDescTags,
696  tag_t** propDescTags
697 );
698 
699 
704 extern TCCORE_API int TCTYPE_construct_create_input(
705  tag_t boTypeTag,
706  tag_t* createInputTag
707 );
708 
713 extern TCCORE_API int TCTYPE_construct_saveasinput(
714  tag_t boTypeTag,
715  tag_t* saveAsInputTag
716 );
717 
722 extern TCCORE_API int TCTYPE_construct_operationinput(
723  tag_t targetObjTypeTag,
725  tag_t* targetSaveAsInputTag
726 );
731 extern TCCORE_API int TCTYPE_free_deepcopydata(
732  int numDeepCopyData,
733  tag_t* deepCopyDataTags
734 );
735 
752 extern TCCORE_API int TCTYPE_saveas_object(
753  tag_t targetObjectTag,
754  tag_t saveAsInputTag,
755  int numAttachedObjects,
756  tag_t* deepCopyDataTags,
757  tag_t* targetCopyTag
758 );
759 
763 extern TCCORE_API int TCTYPE_ask_revise_descriptor(
764  tag_t object_type_tag,
765  tag_t* revise_desc_tag
766 );
767 
772 extern TCCORE_API int TCTYPE_ask_deepcopydata(
773  tag_t object_tag,
775  int *num_attached_objs,
776  tag_t** deepcopydata_tags
777 );
778 
793 extern TCCORE_API int TCTYPE_revise_objects(
794  int num_target_objs,
795  tag_t* target_object_tags,
796  tag_t* revise_input_tags,
797  int* num_attached_objs,
798  tag_t* deepcopydata_tags,
799  tag_t** target_copy_tags,
800  int** ifails
801 );
802 
806 extern TCCORE_API int TCTYPE_create_object(
807  tag_t creInputTag,
808  tag_t* boTag
809 );
810 
824 extern TCCORE_API int TCTYPE_create_objects(
825  int n_bulks,
826  int* quantities,
827  tag_t* create_inputs,
828  int* n_objects,
829  tag_t** objects
830 );
831 
843 extern TCCORE_API int TCTYPE_create_single_objects(
844  int n_bulks,
845  const tag_t* create_inputs,
846  int* n_objects,
847  tag_t** objects
848 );
849 
853 extern TCCORE_API int TCTYPE_set_create_display_value(
854  tag_t creInputTag,
855  char* propName,
856  int n_dispValues,
857  const char** dispValues
860 );
861 
871 extern TCCORE_API int TCTYPE_set_OperationInput_DisplayValue(
872  tag_t opInputTag,
873  char* propName,
874  const char** dispValues
876 );
877 
881 extern TCCORE_API int TCTYPE_find_displayable_business_objects(
882  const char* boName,
883  int n_exclusionBONames,
884  const char** exclusionBONames,
885  int* n_displayableTypeTags,
886  tag_t** displayableTypeTags
887 );
888 
894  const char* boName,
895  int n_exclusionBONames,
896  const char** exclusionBONames,
897  int* n_displayableTypeTags,
898  tag_t** displayableTypeTags,
899  char*** typeNames,
900  char*** displayTypeNames
901 );
902 
912  const char* bo_name,
913  int n_exclusion_bo_names,
914  const char** exclusion_bo_names,
915  int* n_displayable_type_tags,
916  tag_t** displayable_type_tags,
917  char*** type_names,
918  char*** display_type_names
919 );
920 
925 extern TCCORE_API int TCTYPE_ask_name_rule_patterns(
926  const char* boName,
927  int* n_propNames,
928  char*** propNames,
929  int** patternCountArray,
930  int* n_patterns,
931  char*** patterns
932 );
933 
937 extern TCCORE_API int TCTYPE_ask_save_operation_context(
938  TCTYPE_save_operation_context_t* opEnmSvOprnCtxt
939 );
940 
941 
952 extern TCCORE_API int TCTYPE_extent_by_category(
953  TCTYPE_category_t type_category,
954  int* number_of_types,
955  tag_t** type_tags
956 );
957 
974  extern TCCORE_API int TCTYPE_add_to_changed_tag_list(
975  tag_t object,
976  const char* properties
977  );
978 
984  extern TCCORE_API int TCTYPE_add_to_deleted_tag_list(
985  tag_t object
986  );
987 
988 
994  extern TCCORE_API int TCTYPE_get_modified_tag_list(
995  logical clear_lists,
997  int* num_objects,
998  tag_t** tags,
999  int** deleted_or_modified,
1001  char*** properties
1008  );
1009 
1015  extern TCCORE_API int TCTYPE_remove_from_modified_tag_list(
1016  tag_t object
1017  );
1018 
1024 #ifdef __cplusplus
1025 }
1026 #endif
1027 
1030 #include <tccore/libtccore_undef.h>
1031 
1032 #endif