ITK Function Reference

(V10000.1.0.60_20160308.00)
Modules | Data Structures | Functions
Condition Engine

Modules

 CE Errors
 

Data Structures

struct  CE_value
 

Functions

CE_API int CE_ask_condition (const tag_t condition_tag, char **condition_name)
 
CE_API int CE_current_user_session_tag (tag_t *usersession_object_tag)
 
CE_API int CE_evaluate_condition (const tag_t condition_tag, const int parm_count, const tag_t *parm_tags, logical *result)
 
CE_API int CE_find_condition (const char *condition_name, tag_t *condition_tag)
 

Condition class name and property name constants

#define CONDITION_class_name_c   "Condition"
 
#define CONDITION_condition_name_c   "condition_name"
 
#define CONDITION_condition_desc_c   "condition_desc"
 
#define CONDITION_expression_c   "expression"
 
#define CONDITION_secure_flag_c   "secure_flag"
 
#define CONDITION_parameters_c   "parameters"
 

ConditionParameter class name and property name constants

#define CONDITIONPARAMETER_class_name_c   "ConditionParameter"
 
#define CONDITIONPARAMETER_parameter_name_c   "parameter_name"
 
#define CONDITIONPARAMETER_parameter_type_c   "parameter_type"
 

Condition name constants

#define CE_DEFAULT_TRUE_CONDITION   "isTrue"
 
#define CE_DEFAULT_FALSE_CONDITION   "isFalse"
 

Maximum CE sizes

#define CE_CONDITION_DESC_size_c   240
 
#define CE_CONDITION_NAME_size_c   128
 
#define CE_PARAMETER_DESC_size_c   240
 
#define CE_PARAMETER_NAME_size_c   128
 
#define CE_PARAMETER_TYPE_size_c   128
 

CE Preferences

#define CE_ENABLE_DEBUG_PREF   "CE_ENABLE_DEBUG"
 

CE Global Operation IDs

#define CE_GLOBAL_OPID_INLIST   "INLIST"
 
#define CE_GLOBAL_OPID_MATCH   "MATCH"
 

ce_value dataTypes

#define CE_VALUE_DATATYPE_STRING   "STRING"
 
#define CE_VALUE_DATATYPE_PRIMDT_STRING   "std::string"
 
#define CE_VALUE_DATATYPE_CHAR   "CHAR"
 
#define CE_VALUE_DATATYPE_PRIMDT_CHAR   "char"
 
#define CE_VALUE_DATATYPE_BOOLEAN   "BOOLEAN"
 
#define CE_VALUE_DATATYPE_PRIMDT_BOOL   "bool"
 
#define CE_VALUE_DATATYPE_INTEGER   "INTEGER"
 
#define CE_VALUE_DATATYPE_PRIMDT_INT   "int"
 
#define CE_VALUE_DATATYPE_PRIMDT_LONG   "long"
 
#define CE_VALUE_DATATYPE_DOUBLE   "DOUBLE"
 
#define CE_VALUE_DATATYPE_PRIMDT_DOUBLE   "double"
 
#define CE_VALUE_DATATYPE_FLOAT   "FLOAT"
 
#define CE_VALUE_DATATYPE_PRIMDT_FLOAT   "float"
 
#define CE_VALUE_DATATYPE_DATE   "DATE"
 
#define CE_VALUE_DATATYPE_PRIMDT_DATE   "date_t"
 
#define CE_VALUE_DATATYPE_TAG   "TAG"
 
#define CE_VALUE_DATATYPE_PRIMDT_TAG   "tag_t"
 
#define CE_VALUE_DATATYPE_UNSUPPORTED   "UNSUPPORTED"
 
#define CE_VALUE_DATATYPE_INVALID   "INVALID"
 

Detailed Description

Macro Definition Documentation

#define CE_CONDITION_DESC_size_c   240

Definition at line 62 of file ce.h.

#define CE_CONDITION_NAME_size_c   128

Definition at line 63 of file ce.h.

#define CE_DEFAULT_FALSE_CONDITION   "isFalse"

Definition at line 55 of file ce.h.

#define CE_DEFAULT_TRUE_CONDITION   "isTrue"

Definition at line 54 of file ce.h.

#define CE_ENABLE_DEBUG_PREF   "CE_ENABLE_DEBUG"

Definition at line 73 of file ce.h.

#define CE_GLOBAL_OPID_INLIST   "INLIST"

Definition at line 86 of file ce.h.

#define CE_GLOBAL_OPID_MATCH   "MATCH"

Definition at line 87 of file ce.h.

#define CE_PARAMETER_DESC_size_c   240

Definition at line 64 of file ce.h.

#define CE_PARAMETER_NAME_size_c   128

Definition at line 65 of file ce.h.

#define CE_PARAMETER_TYPE_size_c   128

Definition at line 66 of file ce.h.

#define CE_VALUE_DATATYPE_BOOLEAN   "BOOLEAN"

Definition at line 98 of file ce.h.

#define CE_VALUE_DATATYPE_CHAR   "CHAR"

Definition at line 96 of file ce.h.

#define CE_VALUE_DATATYPE_DATE   "DATE"

Definition at line 107 of file ce.h.

#define CE_VALUE_DATATYPE_DOUBLE   "DOUBLE"

Definition at line 103 of file ce.h.

#define CE_VALUE_DATATYPE_FLOAT   "FLOAT"

Definition at line 105 of file ce.h.

#define CE_VALUE_DATATYPE_INTEGER   "INTEGER"

Definition at line 100 of file ce.h.

#define CE_VALUE_DATATYPE_INVALID   "INVALID"

Definition at line 112 of file ce.h.

#define CE_VALUE_DATATYPE_PRIMDT_BOOL   "bool"

Definition at line 99 of file ce.h.

#define CE_VALUE_DATATYPE_PRIMDT_CHAR   "char"

Definition at line 97 of file ce.h.

#define CE_VALUE_DATATYPE_PRIMDT_DATE   "date_t"

Definition at line 108 of file ce.h.

#define CE_VALUE_DATATYPE_PRIMDT_DOUBLE   "double"

Definition at line 104 of file ce.h.

#define CE_VALUE_DATATYPE_PRIMDT_FLOAT   "float"

Definition at line 106 of file ce.h.

#define CE_VALUE_DATATYPE_PRIMDT_INT   "int"

Definition at line 101 of file ce.h.

#define CE_VALUE_DATATYPE_PRIMDT_LONG   "long"

Definition at line 102 of file ce.h.

#define CE_VALUE_DATATYPE_PRIMDT_STRING   "std::string"

Definition at line 95 of file ce.h.

#define CE_VALUE_DATATYPE_PRIMDT_TAG   "tag_t"

Definition at line 110 of file ce.h.

#define CE_VALUE_DATATYPE_STRING   "STRING"

Definition at line 94 of file ce.h.

#define CE_VALUE_DATATYPE_TAG   "TAG"

Definition at line 109 of file ce.h.

#define CE_VALUE_DATATYPE_UNSUPPORTED   "UNSUPPORTED"

Definition at line 111 of file ce.h.

#define CONDITION_class_name_c   "Condition"

Definition at line 33 of file ce.h.

#define CONDITION_condition_desc_c   "condition_desc"

Definition at line 35 of file ce.h.

#define CONDITION_condition_name_c   "condition_name"

Definition at line 34 of file ce.h.

#define CONDITION_expression_c   "expression"

Definition at line 36 of file ce.h.

#define CONDITION_parameters_c   "parameters"

Definition at line 38 of file ce.h.

#define CONDITION_secure_flag_c   "secure_flag"

Definition at line 37 of file ce.h.

#define CONDITIONPARAMETER_class_name_c   "ConditionParameter"

Definition at line 45 of file ce.h.

#define CONDITIONPARAMETER_parameter_name_c   "parameter_name"

Definition at line 46 of file ce.h.

#define CONDITIONPARAMETER_parameter_type_c   "parameter_type"

Definition at line 47 of file ce.h.

Function Documentation

CE_API int CE_ask_condition ( const tag_t  condition_tag,
char **  condition_name 
)

Returns the condition name attribute value.

Parameters
condition_tag(I) tag of existing condition
condition_name(OF) condition name attribute value
CE_API int CE_current_user_session_tag ( tag_t usersession_object_tag)

Retrieves the current user session object tag.

Returns
ITK_ok always
Parameters
usersession_object_tag(O) tag for specified user session
CE_API int CE_evaluate_condition ( const tag_t  condition_tag,
const int  parm_count,
const tag_t parm_tags,
logical result 
)

Execute the rules engine to evaluate the specified condition using the specified condition tag and condition parameters.

Note:

Always pass in NULLTAG for the UserSession object parameter. The Condition Engine code will automatically retrieve the UserSession object.

The value of the tag of all objects represented in the condition signature (with the exception of UserSession for which you will pass in NULLTAG) must be provided in the order they are defined in the condition signature. For example, given a condition signature like Example Condition(Item o, ItemRevision ir, UserSession u), provide the actual tag of an Item object in the first parameter, the actual tag of an ItemRevision object in the second parameter, and NULLTAG for the third parameter. The "parm_count" would be 3, and the parameters would be loaded into the array of tags in that order.

The CE_evaluate_condition API does not invoke the rules engine if the condition name is "isTrue" or "isFalse", so there is no need for callers to retrieve the condition name using the condition tag to check if the condition name is "isTrue" or "isFalse".

Parameters
condition_tag(I) Tag of existing condition
parm_count(I) Input parameter count
parm_tags(I) Array of input parameter tags
result(O) Result of the condition evaluation ( true or false )
CE_API int CE_find_condition ( const char *  condition_name,
tag_t condition_tag 
)

Returns the condition tag for the specified condition name attribute value.

Parameters
condition_name(I) condition name attribute value
condition_tag(O) tag for specified condition