00001
00002
00003
00004
00005
00012
00013
00014 #ifndef EPM_TOOLKIT_UTILS_H
00015 #define EPM_TOOLKIT_UTILS_H
00016
00017 #include <itk/mem.h>
00018 #include <pom/pom/pom.h>
00019 #include <epm/epm.h>
00030 #define IS_A_TARGET (1)
00031 #define GROUP_DATA_TYPE "Group"
00032 #define ROLE_DATA_TYPE "Role"
00033 #define USER_DATA_TYPE "User"
00034 #define PERSON_DATA_TYPE "Person"
00035 #define ADLIST_DATA_TYPE "AddressList"
00036 #define ALLMEMBERS_DATA_TYPE "Allmembers"
00037 #define RESOURCEPOOL_DATA_TYPE "RESOURCEPOOL"
00038
00039 #define SAFE_SM_FREE( a ) \
00040 do \
00041 { \
00042 if ( (a) != NULL ) \
00043 { \
00044 MEM_free( (a) ); \
00045 (a) = NULL; \
00046 } \
00047 } \
00048 while ( 0 )
00049
00050 struct counted_list_s{
00051 int count;
00052 char** list;
00053 };
00054
00055 typedef struct counted_list_s counted_list_t;
00056
00057 extern const counted_list_t NULL_COUNTED_LIST;
00058
00059 struct counted_tag_list_s{
00060 int count;
00061 tag_t* list;
00062 };
00063
00064 typedef struct counted_tag_list_s counted_tag_list_t;
00065
00066 extern const counted_tag_list_t NULL_COUNTED_TAG_LIST;
00067
00068 #include <user_exits/libuser_exits_exports.h>
00069
00070 #ifdef __cplusplus
00071 extern "C"{
00072 #endif
00073
00074 #if 0
00075 extern USER_EXITS_API int EPM__get_task_and_att(
00076 const char* value,
00077 tag_t curr_task,
00078 tag_t* task_tag,
00079 int* attachment_type
00080 );
00081 #endif
00082
00083 extern USER_EXITS_API int EPM__ask_if_target(
00084 tag_t related_objects,
00085 tag_t* target_objects,
00086 int target_count
00087 );
00088
00089 extern USER_EXITS_API int EPM__ask_data_type_and_value(
00090 const char* normal_value,
00091 char** data_type,
00092 char** value
00093 );
00094
00095 #if 0
00096 extern USER_EXITS_API int EPM__display_form_should_show(
00097 EPM_action_message_t msg,
00098 int* n_forms,
00099 tag_t** forms
00100 );
00101 #endif
00102
00103 extern USER_EXITS_API int EPM__add_to_tag_list(
00104 tag_t tag,
00105 counted_tag_list_t* tag_list
00106 );
00107
00108 extern USER_EXITS_API int EPM__parse_string(
00109 const char *pszInputString,
00110 char *pszSeparator,
00111 int *piStringCount,
00112 char ***pppStringList
00113 );
00114
00115
00116
00117
00118 extern USER_EXITS_API int EPM_register_toolkit_handlers(void);
00119
00120 #ifdef __cplusplus
00121 }
00122 #endif
00123
00126 #include <user_exits/libuser_exits_undef.h>
00127
00128 #endif
00129