00001
00002
00003
00004
00005
00013
00014
00015 #ifndef CR_H
00016 #define CR_H
00017
00018 #include <epm/cr_errors.h>
00019 #include <tccore/workspaceobject.h>
00020 #include <tccore/releasestatus.h>
00021 #include <epm/libepm_exports.h>
00022
00043
00044 #define CR_select_signoff_team_task "select-signoff-team"
00045 #define CR_perform_signoffs_task "perform-signoffs"
00046
00047 typedef enum CR_signoff_decision_e {
00048 CR_no_decision = 0,
00049 CR_approve_decision = 'Y',
00050 CR_reject_decision = 'N'
00051 } CR_signoff_decision_t;
00052
00053 #define CR_comment_size_c 240
00054
00055 #ifdef __cplusplus
00056 extern "C"{
00057 #endif
00058
00063 extern EPM_API int CR_init_module(void);
00064
00069 extern EPM_API int CR_exit_module(void);
00070
00079 extern EPM_API int CR_ask_job(
00080 tag_t target_object,
00081 int* count,
00082 tag_t** jobs
00083 );
00084
00097 extern EPM_API int CR_refresh_job(
00098 tag_t job
00099 );
00100
00105 extern EPM_API int CR_ask_required_reviewer_types(
00106 tag_t job,
00107 const char* release_level_name,
00108 int* count,
00109 tag_t** required_accessors
00110 );
00111
00116 extern EPM_API int CR_ask_unassigned_reviewer_types(
00117 tag_t job,
00118 const char* release_level_name,
00119 int* count,
00120 tag_t** unassigned_accessors
00121 );
00122
00141 extern EPM_API int CR_ask_reviewers(
00142 tag_t job,
00143 const char* release_level_name,
00144 int* count,
00145 tag_t** groupmembers
00146 );
00147
00156 extern EPM_API int CR_add_reviewers(
00157 tag_t job,
00158 const char* release_level_name,
00159 int n_groupmembers,
00160 tag_t* groupmembers
00161 );
00162
00170 extern EPM_API int CR_remove_reviewers(
00171 tag_t job,
00172 const char* release_level_name,
00173 int n_groupmembers,
00174 tag_t* groupmembers
00175 );
00176
00184 extern EPM_API int CR_ask_decision(
00185 tag_t job,
00186 const char* release_level_name,
00187 tag_t user,
00188 CR_signoff_decision_t* decision,
00189 char comments[CR_comment_size_c + 1],
00190 date_t* decision_date
00191 );
00192
00200 extern EPM_API int CR_ask_decision2(
00201 tag_t job,
00202 const char* release_level_name,
00203 tag_t user,
00204 CR_signoff_decision_t* decision,
00205 char **comments,
00206 date_t* decision_date
00207 );
00208
00216 extern EPM_API int CR_ask_quorum(
00217 tag_t job,
00218 const char* release_level_name,
00219 int* quorum
00220 );
00221
00241 extern EPM_API int CR_ask_group_release_procedures(
00242 const char* group_name,
00243 int* count,
00244 char*** release_procedure_names
00245 );
00246
00266 extern EPM_API int CR_ask_procedure_release_levels(
00267 const char* release_procedure_name,
00268 int* count,
00269 char*** release_level_names
00270 );
00271
00279 extern EPM_API int CR_reassign_reviewer(
00280 tag_t release_level,
00281 tag_t new_groupmember,
00282 tag_t signoff
00283 );
00284
00296 extern EPM_API int CR_find_status_type (
00297 const char* status_type,
00298 tag_t* status
00299 );
00300
00309 extern EPM_API int CR_ask_release_statuses(
00310 tag_t job,
00311 int* count,
00312 tag_t** release_status_objects
00313 );
00314
00321 extern EPM_API int CR_add_release_status(
00322 tag_t job,
00323 tag_t release_status
00324 );
00325
00333 extern EPM_API int CR_remove_release_status(
00334 tag_t job,
00335 tag_t release_status
00336 );
00337
00344 extern EPM_API int CR_remove_status_from_targets(
00345 tag_t release_status,
00346 tag_t root_task
00347 );
00352 extern EPM_API int CR_ask_if_released(
00353 tag_t workspace_object,
00354 int* is_released
00355 );
00356
00361 extern EPM_API int CR_ask_accessor_tags(
00362 const char* group_name,
00363 logical allow_sub_groups,
00364 const char* role_name,
00365 int* num_accessors,
00366 tag_t** accessors
00367 );
00368
00377 extern EPM_API int CR_ask_procedure_access(
00378 char* release_procedure_name,
00379 char* release_level_name,
00380 int* no_of_accessors,
00381 char*** group_names,
00383 char*** role_names,
00385 int** access_codes
00388 );
00389
00410 extern EPM_API int CR_ask_task_reviewers_group_member(
00411 const tag_t task_tag,
00412 int* group_member_count,
00413 tag_t** group_members
00414 );
00415
00427 extern EPM_API int CR_ask_task_reviewers_resource_pool(
00428 const tag_t task_tag,
00429 int* res_pool_count,
00430 tag_t** res_pool_tags
00431 );
00432
00447 extern EPM_API int CR_ask_task_reviewers_users(
00448 const tag_t task_tag,
00449 int* user_count,
00450 tag_t** users
00451 );
00452
00468 extern EPM_API int CR_ask_task_undecided_reviewers_users(
00469 const tag_t task_tag,
00470 int* user_count,
00471 tag_t** users
00472 );
00473
00478 #ifdef __cplusplus
00479 }
00480 #endif
00481
00482 #include <epm/libepm_undef.h>
00483 #endif