00001
00002
00003
00004
00005
00015
00016
00017 #ifndef SIGNOFF_H
00018 #define SIGNOFF_H
00019
00020 #include <epm/cr.h>
00021 #include <epm/epm.h>
00022 #include <epm/libepm_exports.h>
00023
00044 #define SIGNOFF_ORIGIN_PROFILE 0
00045 #define SIGNOFF_ORIGIN_ADHOC_USER 1
00046 #define SIGNOFF_ORIGIN_ADHOC_RESOURCEPOOL 2
00047 #define SIGNOFF_ORIGIN_ALIASLIST 3
00048 #define SIGNOFF_ORIGIN_ADHOC_ALL_RESOURCEPOOL 4
00049 #define SIGNOFF_ORIGIN_UNDEFINED 9999
00050
00053 typedef enum signoff_type_e
00054 {
00055 SIGNOFF_GROUPMEMBER = 0,
00056 SIGNOFF_RESOURCEPOOL = 1,
00057 SIGNOFF_UNDEFINED = 9999
00058 } SIGNOFF_TYPE_t;
00059
00060
00062 typedef enum signoff_action_e
00063 {
00064 SIGNOFF_REVIEW = 1,
00065 SIGNOFF_ACKNOWLEDGE = 2,
00066 SIGNOFF_NOTIFY = 3,
00067 SIGNOFF_ACTION_UNDEFINED = 9999
00068 } SIGNOFF_ACTION_t;
00069
00071 #define SIGNOFF_APPROVE_DECISION "Approve"
00072 #define SIGNOFF_REJECT_DECISION "Reject"
00073 #define SIGNOFF_NO_DECISION "No Decision"
00074 #define SIGNOFF_ACKNOWLEDGED_DECISION "Acknowledge"
00075 #define SIGNOFF_NOT_ACKNOWLEDGED_DECISION "Not Acknowledge"
00076
00077 #ifdef __cplusplus
00078 extern "C"{
00079 #endif
00080
00090 extern EPM_API int CR_signoff_extent(
00091 int* n_instances,
00092 tag_t** instances
00093 );
00094
00101 extern EPM_API int EPM_signoff_extent(
00102 int* n_instances,
00103 tag_t** instances
00104 );
00105
00113 extern EPM_API int CR_create_signoff(
00114 tag_t group_member,
00115 tag_t* signoff
00116 );
00117
00124 extern EPM_API int CR_initialize_signoff(
00125 tag_t signoff,
00126 tag_t group_member
00127 );
00128
00132 extern EPM_API int EPM_initialize_signoff(
00133 tag_t signoff,
00134 tag_t group_member
00135 );
00136
00141 extern EPM_API int EPM_remove_signoffs(
00142 tag_t task_tag,
00143 int n_groupmembers,
00144 tag_t* groupmembers
00145 );
00146
00151 extern EPM_API int CR_ask_signoff_member(
00152 tag_t signoff,
00153 tag_t* theMember
00154 );
00155
00169 extern EPM_API int EPM_ask_reviewers(
00170 tag_t task_tag,
00171 int* count,
00172 tag_t** groupmembers
00173 );
00174
00181 extern EPM_API int CR_ask_signoff_groupmember(
00182 tag_t signoff,
00183 tag_t* group_member
00184 );
00185
00192 extern EPM_API int CR_ask_signoff_resource_pool(
00193 tag_t signoff,
00194 tag_t* resource_pool
00195 );
00196
00200 extern EPM_API int EPM_ask_signoff_resource_pool(
00201 tag_t signoff,
00202 tag_t* resource_pool
00203 );
00204
00214 extern EPM_API int EPM_ask_task_reviewers_group_member(
00215 const tag_t task_tag,
00216 int* group_member_count,
00217 tag_t** group_members
00218 );
00219
00227 extern EPM_API int EPM_ask_task_reviewers_resource_pool(
00228 const tag_t task_tag,
00229 int* res_pool_count,
00230 tag_t** res_pool_tags
00231 );
00232
00243 extern EPM_API int EPM_ask_task_reviewers_users(
00244 const tag_t task_tag,
00245 int* user_count,
00246 tag_t** users
00247 );
00248
00260 extern EPM_API int EPM_ask_task_undecided_reviewers_users(
00261 const tag_t task_tag,
00262 int* user_count,
00263 tag_t** users
00264 );
00265
00267 extern EPM_API int EPM_ask_unassigned_reviewer_types(
00268 tag_t task_tag,
00269 int* count,
00270 tag_t** unassigned_accessors
00271 );
00272
00277 extern EPM_API int CR_ask_signoff_accessor(
00278 tag_t signoff,
00279 tag_t* acc
00280 );
00281
00283 extern EPM_API int EPM_ask_signoff_accessor(
00284 tag_t signoff,
00285 tag_t* acc
00286 );
00287
00292 extern EPM_API int CR_set_signoff_accessor(
00293 tag_t signoff,
00294 tag_t acc
00295 );
00296
00298 extern EPM_API int EPM_set_signoff_accessor(
00299 tag_t signoff,
00300 tag_t acc
00301 );
00302
00320 extern EPM_API int CR_set_signoff_decision(
00321 tag_t signoff,
00322 CR_signoff_decision_t decision,
00323 const char comments[CR_comment_size_c + 1]
00324 );
00325
00342 extern EPM_API int CR_set_signoff_decision2(
00343 tag_t signoff,
00344 CR_signoff_decision_t decision,
00345 const char *comments
00346 );
00347
00361 extern EPM_API int EPM_set_signoff_decision(
00362 tag_t signoff,
00363 EPM_signoff_decision_t decision,
00364 const char *comments
00365 );
00366
00380 extern EPM_API int EPM_set_secure_signoff_decision(
00381 tag_t signoff,
00382 CR_signoff_decision_t decision,
00383 const char comments[CR_comment_size_c + 1],
00384 const char password[CR_comment_size_c + 1]
00385 );
00386
00400 extern EPM_API int EPM_set_secure_signoff_decision2(
00401 tag_t signoff,
00402 CR_signoff_decision_t decision,
00403 const char *comments,
00404 const char *password
00405 );
00406
00417 extern EPM_API int EPM_set_secure_signoff_decision3(
00418 tag_t signoff,
00419 EPM_signoff_decision_t decision,
00420 const char *comments,
00421 const char *password
00422 );
00423
00424
00435 extern EPM_API int CR_ask_signoff_decision(
00436 tag_t signoff,
00437 CR_signoff_decision_t* decision,
00438 char comments[CR_comment_size_c + 1],
00439 date_t* decision_date
00440 );
00441
00451 extern EPM_API int CR_ask_signoff_decision2(
00452 tag_t signoff,
00453 CR_signoff_decision_t* decision,
00454 char **comments,
00455 date_t* decision_date
00456 );
00457
00464 extern EPM_API int EPM_ask_signoff_decision(
00465 tag_t signoff,
00466 EPM_signoff_decision_t* decision,
00467 char **comments,
00468 date_t* decision_date
00469 );
00470
00475 extern EPM_API int CR_delegate_signoff(
00476 tag_t signoff,
00477 tag_t new_group_member_to_delegate_to,
00478 logical add_audit_file
00479 );
00480
00481 extern EPM_API int EPM_delegate_signoff(
00482 tag_t signoff,
00483 tag_t new_group_member_to_delegate_to,
00484 logical add_audit
00485 );
00486
00491 extern EPM_API int CR_compare_role_and_group(
00492 tag_t signoff,
00493 logical* match
00494 );
00495
00497 extern EPM_API int EPM_compare_role_and_group(
00498 tag_t signoff,
00499 logical* match
00500 );
00501
00506 extern EPM_API int EPM_create_signoff(
00507 tag_t member,
00508 int originType,
00514 tag_t originProfile,
00515 tag_t* signoff
00516 );
00517
00525 extern EPM_API int EPM_create_profile_signoff(
00526 tag_t task,
00527 tag_t member,
00528 tag_t signoffProfile,
00530 tag_t* signoff
00531 );
00532
00540 extern EPM_API int EPM_create_adhoc_signoff(
00541 tag_t task,
00542 tag_t member,
00543 int* count,
00545 tag_t** signoffs
00546 );
00547
00552 extern EPM_API int EPM_ask_signoff_member(
00553 tag_t signoff,
00554 tag_t* memberTag,
00555 SIGNOFF_TYPE_t* memberType
00559 );
00560
00564 extern EPM_API int EPM_ask_signoff_origin_profile(
00565 tag_t signoff,
00566 tag_t* originProfile
00568 );
00569
00573 extern EPM_API int EPM_set_signoff_origin_profile(
00574 tag_t signoff,
00575 tag_t originProfile
00577 );
00578
00582 extern EPM_API int EPM_ask_signoff_origin_type(
00583 tag_t signoffTag,
00584 int* origin,
00590 tag_t* originObject
00591 );
00592
00593 extern EPM_API int EPM_ask_signoff_current_task(
00594 tag_t signoffTag,
00595 tag_t* taskTag
00596 );
00597
00605 extern EPM_API int EPM_ask_last_signoff(
00606 tag_t ws_object,
00607 tag_t release_status_tag,
00608 EPM_decision_t* decision,
00609 char signer[WSO_name_size_c + 1],
00610 date_t* sign_off_date
00611 );
00612
00618 extern EPM_API int EPM_ask_last_signoff2(
00619 tag_t ws_object,
00620 tag_t release_status_tag,
00621 EPM_decision_t* decision,
00622 char **signer,
00623 date_t* sign_off_date
00624 );
00625
00635 extern EPM_API int EPM_ask_signoff_details(
00636 tag_t ws_object,
00637 tag_t release_status_tag,
00638 int* no_of_signoffs,
00639 EPM_decision_t** decisions,
00640 char*** signers,
00641 date_t** sign_off_dates
00642 );
00643
00644
00645
00648 #ifdef __cplusplus
00649 }
00650 #endif
00651
00652 #include <epm/libepm_undef.h>
00653 #endif
00654
00655