ITK Function Reference

(V10000.1.0.60_20160308.00)
bmf.h
Go to the documentation of this file.
1 /*==============================================================================
2  Copyright (c) 2003-2005 UGS Corporation
3  Unpublished - All Rights Reserved
4  ==============================================================================*/
5 
6 /* */
7 
8 #ifndef BMF_H
9 #define BMF_H
10 
11 #include <tc/tc_startup.h>
12 #include <tc/emh.h>
13 #include <tccore/method.h>
14 #include <itk/libitk_exports.h>
15 
16 
32 #define BMF_NAME_size_c 32
33 #define BMF_TYPE_size_c 32
34 #define BMF_PROP_NAME_size_c 132
35 #define BMF_LIB_NAME_size_c 64
36 #define BMF_MESSAGE_NAME_size_c 1024
37 #define BMF_CONDITION_size_c 132
38 #define BMF_EXTENSION_NAME_size_c 132
39 #define BMF_VALIDITY_size_c 1280
40 #define BMF_EXTENSION_ARGNAME_size_c 64
41 #define BMF_EXTENSION_STRGVAL_size_c 64
42 
48 #define BMOperationClassName "BMOperation"
49 #define ExtensionClassName "Extension"
50 #define ExtensionDescriptorClassName "ExtensionDescriptor"
51 #define ExtensionPointClassName "ExtensionPoint"
52 #define PropertyBMOperationClassName "PropertyBMOperation"
53 #define TypeBMOperationClassName "TypeBMOperation"
54 
55 #define EXTENSION_POINT_PRECONDITION_STR "pre-condition"
56 #define EXTENSION_POINT_PREACTION_STR "pre-action"
57 #define EXTENSION_POINT_BASEACTION_STR "base"
58 #define EXTENSION_POINT_POSTACTION_STR "post-action"
59 
65 #define BMF_BYPASS_ALL_EXTENSION_RULES_PREF "BMF_BYPASS_ALL_EXTENSION_RULES"
66 #define BMF_CLASS_AND_TYPE_DISPLAY_LIST_PREF "BMF_CLASS_AND_TYPE_DISPLAY_LIST"
67 #define BMF_CUSTOM_IMPLEMENTOR_PATH_PREF "BMF_CUSTOM_IMPLEMENTOR_PATH"
68 #define BMF_ENABLE_DEBUG_PREF "BMF_ENABLE_DEBUG"
69 #define BMF_SUPPRESS_ACTION_RULES_DISPLAY_PREF "BMF_SUPPRESS_ACTION_RULES_DISPLAY"
70 #define BMF_USE_BMF_PREF "BMF_USE_BMF"
71 #define BMF_LOAD_IND_OBJECT_PREF "BMF_LOAD_IND_OBJECT"
72 
74 #define BMF_IMPLEMENTER_CLASS_DELIMETER "::"
75 
78 {
85 
86 
88 typedef enum ExtensionLangType_e
89 {
97 
98 
99 typedef struct ExtensionDescDetail_s
100 {
102  int n_params;
103  char** params;
104  char* condition;
105  int priority;
108 
111 {
116 
119 {
121  union val_union
122  {
124  double double_value;
126  }arg_val;
127 
129 
130 #define BMF_EXECUTE_USER_EXIT_EXTENSIONS(args) \
131 {\
132  int bmf_stat = BMF_UE_CONTINUE; \
133  bmf_stat = BMF_process_userexit args;\
134  if (bmf_stat == BMF_USER_EXIT_RETURN ) \
135  return ITK_ok; \
136  else if (bmf_stat == BMF_USER_EXIT_ERROR ) { EMH_ask_last_error(&bmf_stat); return bmf_stat;}\
137 }
138 
139 typedef int (*CPLUSPLUS_EXTENSION)(const char*, METHOD_message_t*, va_list);
140 
141 #ifdef __cplusplus
142  extern "C"{
143 #endif
144 
149 extern ITK_API int BMF_process_userexit(
150  char* typeName,
151  char* propName,
152  char* msgName,
153  ...
154  );
158 extern ITK_API int BMF_get_user_params(
159  METHOD_message_t *msg ,
160  int* ext_param_cnt,
161  BMF_extension_arguments_t** ext_params);
165 #ifdef __cplusplus
166 }
167 #endif
168 
169 #include <itk/libitk_undef.h>
170 #endif /* BMF_H */