/* Copyright 2020 Siemens Digital Industries Software ================================================== Copyright 2018. Siemens Product Lifecycle Management Software Inc. All Rights Reserved. ================================================== Copyright 2020 Siemens Digital Industries Software */ /** @file Teamcenter has implemented Participant functionality to allow addition/removal of participants (users) in different category to the Workspace object which can be later be helpful while assigning different tasks to the participants through action-handlers. */ #ifndef TEAMCENTER_PARTICIPANT_H #define TEAMCENTER_PARTICIPANT_H #include #include /** @defgroup PARTICIPANT Participant @ingroup TC @{ */ #ifdef __cplusplus extern "C" { #endif /** Adds a single participant to a Workspace object. @returns */ extern PARTICIPANT_API int PARTICIPANT_add_participant( const tag_t wso, /**< (I) The Workspace Object for which the participant needs to be added. */ const logical bypass_assignable_check, /**< (I) Flag to decide whether bypass assignable type check. */ const tag_t participant /**< (I) The participant to add. */ ); /** Adds multiple participants to a Workspace object. @returns */ extern PARTICIPANT_API int PARTICIPANT_add_participants( const tag_t wso, /**< (I) The Workspace Object for which the participants needs to be added. */ const logical bypass_assignable_check, /**< (I) Flag to decide whether bypass assignable type check. */ const int n_assignees, /**< (I) Number of assignees (Group member). */ const tag_t* assignee_list, /**< (I) n_assignees List of assignees (Group member). */ const tag_t* participant_types_list, /**< (I) n_assignees List of participant type. */ tag_t** participant_list /**< (OF) n_assignees List of added participants to a WorkspaceObject. */ ); /** Removes a single participant from a Workspace object. @returns */ extern PARTICIPANT_API int PARTICIPANT_remove_participant( const tag_t wso, /**< (I) The Workspace Object for which the participant needs to be removed. */ const tag_t participant /**< (I) The participant to remove. */ ); /** Removes multiple participants from a Workspace object. @returns */ extern PARTICIPANT_API int PARTICIPANT_remove_participants( const tag_t wso, /**< (I) The Workspace Object for which the participants needs to be removed. */ const int n_participants, /**< (I) Number of participants to remove. */ const tag_t* participant_list /**< (I) n_participants List of participants to remove. */ ); /** Updates multiple participants to a Workspace object.
It removes the exisiting participants from the WorkspaceObject and adds new participants. @returns */ extern PARTICIPANT_API int PARTICIPANT_update_participants( const tag_t wso, /**< (I) The Workspace Object for which the participants needs to be updated. */ const logical bypass_assignable_check, /**< (I) Flag to decide whether bypass assignable type check. */ const int n_assignees, /**< (I) Number of assignees (Group member). */ const tag_t* assignee_list, /**< (I) n_assignees List of assignees (Group member). */ const tag_t* participant_types_list, /**< (I) n_assignees List of participant types. */ tag_t** participant_list /**< (OF) n_assignees List of updated participants to a WorkspaceObject. */ ); /** Sets multiple participants to a Workspace object.
It removes the exisiting participants from the WorkspaceObject and adds new participants. @returns @returns */ extern PARTICIPANT_API int PARTICIPANT_set_participants( const tag_t wso, /**< (I) The Workspace Object for which the participants needs to be set. */ const logical bypass_assignable_check, /**< (I) Flag to decide whether bypass assignable type check. */ const int n_participants, /**< (I) Number of participants to set. */ const tag_t* participant_list /**< (I) n_participants List of participants to set. */ ); /** Asks participants of a Workspace object. @returns */ extern PARTICIPANT_API int PARTICIPANT_ask_participants( const tag_t wso, /**< (I) The Workspace Object for which the participants needs to be asked. */ const tag_t participant_type, /**< (I) Type of participant to retrieve.
It should be a subtype of the Participant class (e.g. "ProposedResponsibleParty", "ProposedReviewer"). */ int* n_participants, /**< (O) Number of participants. */ tag_t** participant_list /**< (OF) n_participants List of participants of a WorkspaceObject. */ ); #ifdef __cplusplus } #endif /** @} */ #include #endif