You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
142 lines
3.9 KiB
142 lines
3.9 KiB
/*==============================================================================
|
|
Copyright (c) 2003-2005 UGS Corporation
|
|
Unpublished - All Rights Reserved
|
|
==============================================================================*/
|
|
|
|
/**
|
|
@file
|
|
|
|
Contains utility functions for the EPM and CR action handlers
|
|
*/
|
|
|
|
/* */
|
|
|
|
#ifndef EPM_TOOLKIT_UTILS_H
|
|
#define EPM_TOOLKIT_UTILS_H
|
|
|
|
#include <base_utils/Mem.h>
|
|
#include <pom/pom/pom.h>
|
|
#include <epm/epm.h>
|
|
/** @if DOX_IGNORE
|
|
#include <epm/epm_toolkit_tc_utils.h>
|
|
@endif */
|
|
|
|
/**
|
|
@defgroup EPM_TOOLKIT_UTILS EPM (Enterprise Process Modeling) Toolkit Utilities
|
|
@ingroup USER_EXITS
|
|
@{
|
|
*/
|
|
|
|
#define IS_A_TARGET (1)
|
|
#define GROUP_DATA_TYPE "Group"
|
|
#define ROLE_DATA_TYPE "Role"
|
|
#define USER_DATA_TYPE "User"
|
|
#define PERSON_DATA_TYPE "Person"
|
|
#define ADLIST_DATA_TYPE "AddressList"
|
|
#define ALLMEMBERS_DATA_TYPE "Allmembers"
|
|
#define RESOURCEPOOL_DATA_TYPE "RESOURCEPOOL"
|
|
|
|
#define SAFE_SM_FREE( a ) \
|
|
do \
|
|
{ \
|
|
if ( (a) != NULL ) \
|
|
{ \
|
|
MEM_free( (a) ); \
|
|
(a) = NULL; \
|
|
} \
|
|
} \
|
|
while ( 0 )
|
|
|
|
struct counted_list_s{
|
|
int count;
|
|
char** list;
|
|
};
|
|
|
|
typedef struct counted_list_s counted_list_t;
|
|
|
|
extern const counted_list_t NULL_COUNTED_LIST;
|
|
|
|
struct counted_tag_list_s{
|
|
int count;
|
|
tag_t* list;
|
|
};
|
|
|
|
typedef struct counted_tag_list_s counted_tag_list_t;
|
|
|
|
extern const counted_tag_list_t NULL_COUNTED_TAG_LIST;
|
|
|
|
#include <user_exits/libuser_exits_exports.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C"{
|
|
#endif
|
|
|
|
#if 0
|
|
extern USER_EXITS_API int EPM__get_task_and_att(
|
|
const char* value, /**< (I) */
|
|
tag_t curr_task, /**< (I) */
|
|
tag_t* task_tag, /**< (O) */
|
|
int* attachment_type /**< (O) */
|
|
);
|
|
#endif
|
|
|
|
extern USER_EXITS_API int EPM__ask_if_target(
|
|
tag_t related_objects, /**< (I) */
|
|
tag_t* target_objects, /**< (I) */
|
|
int target_count /**< (I) */
|
|
);
|
|
|
|
extern USER_EXITS_API int EPM__ask_data_type_and_value(
|
|
const char* normal_value, /**< (I) */
|
|
char** data_type, /**< (OF) */
|
|
char** value /**< (OF) */
|
|
);
|
|
|
|
#if 0
|
|
extern USER_EXITS_API int EPM__display_form_should_show(
|
|
EPM_action_message_t msg, /**< (I) */
|
|
int* n_forms, /**< (O) */
|
|
tag_t** forms /**< (OF) n_forms */
|
|
);
|
|
#endif
|
|
|
|
/**
|
|
This function will append the @p tag at the end of the @p tag_list.
|
|
|
|
@returns
|
|
<ul>
|
|
<li>#ITK_ok on success
|
|
<li>#SS_NOMEM if fails to allocate memory dynamically for new tag
|
|
</ul>
|
|
@note Here @p tag_list should point to a dynamically allocated memory block of size 16xsizeof(tag_t) before calling to add
|
|
first tag to @p tag_list. When user go on adding tags and list size exeeds 16 tnen this API allocate memory dynamically for new tag.
|
|
*/
|
|
|
|
extern USER_EXITS_API int EPM__add_to_tag_list(
|
|
tag_t tag, /**< (I) The tag to append at the end of @p tag_list */
|
|
counted_tag_list_t* tag_list /**< (OF) List of tags */
|
|
);
|
|
|
|
extern USER_EXITS_API int EPM__parse_string(
|
|
const char *pszInputString, /**< (I) */
|
|
char *pszSeparator, /**< (I) */
|
|
int *piStringCount, /**< (O) */
|
|
char ***pppStringList /**< (OF) */
|
|
);
|
|
|
|
|
|
|
|
|
|
extern USER_EXITS_API int EPM_register_toolkit_handlers(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
/** @} */
|
|
|
|
#include <user_exits/libuser_exits_undef.h>
|
|
|
|
#endif
|
|
|