ITK Function Reference
(V10000.1.0.60_20160308.00)
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
itk
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
77
typedef
enum
ExtensionPointType_e
78
{
79
ExtensionPointType_Unknown
,
80
ExtensionPointType_PreCondition
,
81
ExtensionPointType_PreAction
,
82
ExtensionPointType_Post
,
83
ExtensionPointType_Base
84
}
ExtensionPointType_t
;
85
86
88
typedef
enum
ExtensionLangType_e
89
{
90
extensionLangType_unknown
,
91
extensionLangType_c
,
92
extensionLangType_c_plusplus
,
93
extensionLangType_java
,
94
extensionLangType_script
,
95
extensionLangType_dotnet
96
}
ExtensionLangType_t
;
97
98
99
typedef
struct
ExtensionDescDetail_s
100
{
101
tag_t
extntag
;
102
int
n_params
;
103
char
**
params
;
104
char
*
condition
;
105
int
priority
;
106
tag_t
desctag
;
107
}
ExtensionDescDetail_t
;
108
110
typedef
enum
BMF_user_exit_process_e
111
{
112
BMF_UE_CONTINUE
,
113
BMF_USER_EXIT_RETURN
,
114
BMF_USER_EXIT_ERROR
115
}
BMF_user_exit_process_t
;
116
118
typedef
struct
BMF_extension_arguments_s
119
{
120
char
paramName
[
BMF_EXTENSION_ARGNAME_size_c
+ 1];
121
union
val_union
122
{
123
int
int_value
;
124
double
double_value
;
125
char
str_value
[
BMF_EXTENSION_STRGVAL_size_c
+ 1];
126
}
arg_val
;
127
128
}
BMF_extension_arguments_t
;
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 */