ITK Function Reference
(V10000.1.0.60_20160308.00)
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
rbf
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
{
58
DecisionTableType
59
}
AEPRuleType_t
;
60
61
typedef
enum
RBFDataType_e
62
{
63
StringType
,
64
DateType
,
65
DoubleType
,
66
FloatType
,
67
IntegerType
,
68
LogicalType
,
69
BusinessObjectType
70
}
RBFDataType_t
;
71
72
typedef
enum
RBFInput_e
73
{
74
InPrimitive
,
75
InBusinessObject
76
}
RBFInput_t
;
77
78
typedef
enum
RBFOutput_e
79
{
80
OutPrimitive
81
}
RBFOutput_t
;
82
83
typedef
enum
RBFColumn_e
84
{
85
Input
,
86
Output
87
}
RBFColumn_t
;
88
89
typedef
enum
RBFExpressionType_e
90
{
91
EqualTo
,
92
NotEqualTo
,
93
GreaterThan
,
94
GreaterThanOrEqualTo
,
95
LessThan
,
96
LessThanOrEqualTo
,
97
Between
98
}
RBFExpressionType_t
;
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
;
118
logical
booleanValue
;
119
int
integerValue
;
120
double
doubleValue
;
121
float
floatValue
;
122
date_t
dateValue
;
123
tag_t
tagValue
;
124
125
RBF_value
()
126
{
127
dataType
= 0;
128
stringValue
= 0;
129
booleanValue
=
false
;
130
integerValue
= 0;
131
doubleValue
= 0;
132
floatValue
= 0;
133
dateValue
=
NULLDATE
;
134
tagValue
=
NULLTAG
;
135
}
136
};
137
138
struct
RBF_name_value
139
{
140
char
*
name
;
141
RBF_value
value
;
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 */