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.

208 lines
11 KiB

//Copyright 2020 Siemens Digital Industries Software
//==================================================
//Copyright $2020.
//Siemens Product Lifecycle Management Software Inc.
//All Rights Reserved.
//==================================================
//Copyright 2020 Siemens Digital Industries Software
/*==================================================================================================
File description:
This file contains the declaration for the Business Object, Fnd0BranchDelegate
Filename: Fnd0BranchDelegateExt.hxx
Module: bhv0branchfoundation
@BMIDE autogenerated
==================================================================================================*/
#ifndef BHV0__BHV0BRANCHFOUNDATION__FND0BRANCHDELEGATE_HXX
#define BHV0__BHV0BRANCHFOUNDATION__FND0BRANCHDELEGATE_HXX
#include <common/tc_deprecation_macros.h>
#include <bhv0branchfoundation/Fnd0BranchExt.hxx>
#include <bhv0branchfoundation/libbhv0branchfoundation_exports.h>
namespace bhv0
{
namespace bhv0branchfoundation
{
class Fnd0BranchDelegate;
}
}
namespace bhv0
{
namespace bhv0branchfoundation
{
class Fnd0BranchImpl;
}
}
namespace bhv0
{
namespace bhv0branchfoundation
{
class Fnd0Branch;
}
}
namespace bhv0
{
namespace bhv0branchfoundation
{
class Fnd0BranchGenImpl;
}
}
namespace bhv0_alias = ::bhv0;
class BHV0BRANCHFOUNDATION_API bhv0_alias::bhv0branchfoundation::Fnd0BranchDelegate
{
public:
// Method to initialize this Class
static int initializeClass();
// Method to get the Fnd0BranchDelegate instance
static Fnd0BranchDelegate& getInstance();
// Method to create the Fnd0BranchImpl pointer
static Fnd0BranchImpl* createImpl( Fnd0Branch& ifObj );
// Method to delete the Fnd0BranchImpl pointer
static void deleteImpl( Fnd0BranchImpl* impl );
///
/// This operation adds a Teamcenter revisable or non-revisable workspace object to an existing branch. Upon adding the objects to the branch, users can use the branching and versioning capabilities to support concurrent editing of these objects and maintain their version history.
/// @version Teamcenter 11.3
/// @param contents - List of objects to be added in the branch
/// @param relationProperties - List of properties to be set on the relation for every object added to the branch
/// @return - Returns the operation status code as success or failure.
///
int bhv0AddContentsBase(const Fnd0Branch &ifObj, const std::vector< tag_t > &contents, const std::vector< ::Teamcenter::CreateInput* > &relationProperties );
///
/// Add object(s) to child branch from parent branch.
/// @version Teamcenter 11.5
/// @param contents - Map of parent branch to its content objects to be added to a child branch.
/// @param relationProperties - List of properties to be set on the relation for every object added to the branch.
/// @param checkoutFlag - Flag to indicate whether to checkout the added objects.
/// @param branchContents - List of Fnd0BranchContent relation objects returned as per the input criteria. The version objects can be fetched as a secondary of these relation objects.
/// @return - List of content objects that were added to child branch.
///
int bhv0AddParentContentsBase(const Fnd0Branch &ifObj, const std::map< tag_t,std::vector< tag_t > > &contents, const std::vector< ::Teamcenter::CreateInput* > &relationProperties, const bool checkoutFlag, std::vector< tag_t > &branchContents );
///
///
/// @version Teamcenter 11.5
/// @param contentsForCCO - Branch contents for cancel check-out.
/// @param branchContentsAfterCCO - The Fnd0BranchContent relation objects, which represent the latest head branch content after cancel check-out operation. The version objects can be retrieved as a secondary of these relation objects.
/// @param statusCodes - Array of returned status codes.
/// @return -
///
int bhv0CancelCheckoutContentsBase(const Fnd0Branch &ifObj, const std::vector< tag_t > &contentsForCCO, std::vector< tag_t > &branchContentsAfterCCO, std::vector< int > &statusCodes );
///
/// This operation performs check in and release of already checked out Teamcenter workspace object under a branch. Publish is optional.
/// @version Teamcenter 11.4
/// @param contents - Contents to be checked-in.
/// @param comment - Checkin comment.
/// @param publishFlag - If True content will be released.
/// @return - Returns the operation status code as success or failure.
///
int bhv0CheckinContentsBase(const Fnd0Branch &ifObj, const std::vector< tag_t > &contents, const ::Teamcenter::CreateInput *comment, bool publishFlag );
///
/// This operation performs check-out of Teamcenter workspace object under a branch.
/// @version Teamcenter 11.4
/// @param contents - Branch contents to be checked-out.
/// @param relationProperties - List of properties to be set on the relation for every object added to the branch.
/// @param newBranchContents - List of Fnd0BranchContent relation objects returned as per the input criteria. The version objects can be fetched as a secondary of these relation objects.
/// @return - Returns the operation status code as success or failure.
///
int bhv0CheckOutContentsBase(const Fnd0Branch &ifObj, const std::vector< tag_t > &contents, const std::vector< ::Teamcenter::CreateInput* > &relationProperties, std::vector< tag_t > &newBranchContents );
///
/// This method is invoked to create a label for the given branch. The method shall get the label name and description as input. For a given branch the method shall extract the latest versions and use these latest version objects to create a label.
/// @version Teamcenter 11.5
/// @param name - name
/// @param description - description
/// @param createdLabel - createdLabel
/// @return -
///
int bhv0CreateLabelBase(const Fnd0Branch &ifObj, const std::string &name, const std::string &description, tag_t &createdLabel );
///
/// This operation returns a list of objects part of a given input branch. The list of objects returned shall be for a specific baseline label, the latest versions of each associated object or all the versions of all the objects part of that branch. It takes the baseline label, the string &ldquo;latest&rdquo; or an empty string as input. If the label input is empty all versions of all the objects those are part of that branch are returned to the caller.
/// @version Teamcenter 11.3
/// @param label - This parameter is used to get the baselined, latest or all the versions of the objects associated to the given branch. The valid values of this parameter are as follows:
/// 1) String indicating the baseline label to get the baselined versions of all the objects associated to the branch.
/// 2) String "latest" to get latest versions of all the objects associated to the branch.
/// 3) Empty string to get all the versions of all the objects associated to the branch.
/// @param branchContents - List of Fnd0BranchContent relation objects returned as per the input criteria. The version objects can be fetched as a secondary of these relation objects.
/// @return - Returns the operation status code as success or failure
///
int bhv0GetContentsBase(const Fnd0Branch &ifObj, const std::string &label, std::vector< tag_t > &branchContents );
///
/// This operation performs merge of Teamcenter workspace object under a source branch to Teamcenter workspace object under target branch.
/// @version Teamcenter 11.5
/// @param sourceBranch - Source branch tag for merge operation.
/// @param sourceContentsForMerge - List of source objects for merge.
/// @param targetContentsForMerge - List of target objects for merge.
/// @param targetRelationProperties - List of properties to be set on the relation for every object added to the branch.
/// @param mergedBranchContents - The Fnd0BranchMerge relation objects, which represent the latest merged branch content. The version objects can be retrieved as a secondary of these relation objects.
/// @param statusCodes - Array of returned status codes.
/// @return - Returns the operation status code as success or failure for each merge contents.
///
int bhv0MergeContentsBase(const Fnd0Branch &ifObj, const tag_t &sourceBranch, const std::vector< tag_t > &sourceContentsForMerge, const std::vector< tag_t > &targetContentsForMerge, std::vector< ::Teamcenter::CreateInput* > &targetRelationProperties, std::vector< tag_t > &mergedBranchContents, std::vector< int > &statusCodes );
///
/// This operation performs obsolete of Teamcenter workspace object under a branch.
/// @version Teamcenter 12.2
/// @param contentsForObsolete - Branch contents for obsolete.
/// @param relationProperties - List of properties to be set on the relation for every object added to the branch.
/// @param comment - Obsolete comment.
/// @param newBranchContents - List of Fnd0BranchContent relation objects returned as per the input criteria. The version objects can be fetched as a secondary of these relation objects.
/// @param statusCode - Array of returned status codes.
/// @return - Returns the operation status code as success or failure.
///
int bhv0ObsoleteContentsBase(const Fnd0Branch &ifObj, const std::vector< tag_t > &contentsForObsolete, std::vector< ::Teamcenter::CreateInput* > &relationProperties, ::Teamcenter::CreateInput *comment, std::vector< tag_t > &newBranchContents, std::vector< int > &statusCode );
///
///
/// @version Teamcenter 11.4
/// @param contents - List of objects to be promoted in the branch.
/// @param sourceBranch - Source branch tag for promote operation.
/// @param relationProperties - List of properties to be set on the relation for every object added to the branch
/// @param comment - Comment record for promote operation.
/// @return - Returns the operation status code as success or failure.
///
int bhv0PromoteContentsBase(const Fnd0Branch &ifObj, const std::vector< tag_t > &contents, tag_t sourceBranch, const std::vector< ::Teamcenter::CreateInput* > &relationProperties, ::Teamcenter::CreateInput *comment );
protected:
// Pointer to the instance
static Fnd0BranchDelegate* m_pInstance;
Fnd0BranchDelegate();
virtual ~Fnd0BranchDelegate();
static void setInstance( Fnd0BranchDelegate* instance );
private:
friend class ::bhv0::bhv0branchfoundation::Fnd0BranchGenImpl;
};
#include <bhv0branchfoundation/libbhv0branchfoundation_undef.h>
#endif // BHV0__BHV0BRANCHFOUNDATION__FND0BRANCHDELEGATE_HXX