ITK Function Reference

(V10000.1.0.60_20160308.00)
rbf.h
Go to the documentation of this file.
1 // @<COPYRIGHT_START>@
2 // ===============================================
3 // Copyright 2006 UGS Corp. All Rights Reserved.
4 // ===============================================
5 // @<COPYRIGHT_END>@
6 
7 
16 #ifndef RBF_H
17 #define RBF_H
18 
19 #include <pom/pom/pom.h>
20 #include <rbf/librbf_exports.h>
21 
31 #define RBF_BUSINESS_ELEMENT_NAME_size_c 128
32 #define RBF_CATEGORY_size_c 240
33 #define RBF_COLUMN_NAME_size_c 128
34 #define RBF_ID_size_c 240
35 #define RBF_OPERAND_size_c 240
36 #define RBF_PROPERTY_NAME_size_c 128
37 #define RBF_TYPE_NAME_size_c 128
38 
40 #define RBF_DATE_FORMAT "%Y%m%d"
41 #define RBF_DATE_NULL "00000000"
42 #define RBF_FALSE_STRING "false"
43 #define RBF_TRUE_STRING "true"
44 
49 #define RBF_ENABLE_DEBUG_PREF "RBF_ENABLE_DEBUG"
50 
56 typedef enum AEPRuleType_e
57 {
60 
61 typedef enum RBFDataType_e
62 {
71 
72 typedef enum RBFInput_e
73 {
76 } RBFInput_t;
77 
78 typedef enum RBFOutput_e
79 {
81 } RBFOutput_t;
82 
83 typedef enum RBFColumn_e
84 {
87 } RBFColumn_t;
88 
89 typedef enum RBFExpressionType_e
90 {
105 #define RBF_VALUE_DATATYPE_STRING "STRING"
106 #define RBF_VALUE_DATATYPE_BOOLEAN "BOOLEAN"
107 #define RBF_VALUE_DATATYPE_INTEGER "INTEGER"
108 #define RBF_VALUE_DATATYPE_DOUBLE "DOUBLE"
109 #define RBF_VALUE_DATATYPE_FLOAT "FLOAT"
110 #define RBF_VALUE_DATATYPE_DATE "DATE"
111 #define RBF_VALUE_DATATYPE_TAG "TAG"
112 
114 struct RBF_value
115 {
116  char *dataType;
117  char *stringValue;
120  double doubleValue;
121  float floatValue;
124 
126  {
127  dataType = 0;
128  stringValue = 0;
129  booleanValue = false;
130  integerValue = 0;
131  doubleValue = 0;
132  floatValue = 0;
134  tagValue = NULLTAG;
135  }
136 };
137 
139 {
140  char *name;
142 };
143 
144 #ifdef __cplusplus
145  extern "C"{
146 #endif
147 
154 extern RBF_API int RBF_build_name_value_pairs(
155  const char *nvp_name,
156  const char *nvp_data_type,
157  const char *nvp_value,
158  int *count,
159  RBF_name_value **values
160  );
161 
165 extern RBF_API void RBF_free_name_value(
166  int count,
167  RBF_name_value **values
168  );
169 
173 extern RBF_API int RBF_execute(
174  const char *id,
175  int in_count,
176  RBF_name_value *in_values,
177  int *result_count,
178  RBF_name_value **result_values
179  );
180 
183 #ifdef __cplusplus
184 }
185 #endif
186 
187 #include <rbf/librbf_undef.h>
188 #endif /* RBF_H */