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.
245 lines
12 KiB
245 lines
12 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, Fnd0Branch
|
|
Filename: Fnd0BranchExt.hxx
|
|
Module: bhv0branchfoundation
|
|
@BMIDE autogenerated
|
|
==================================================================================================*/
|
|
|
|
#ifndef BHV0__BHV0BRANCHFOUNDATION__FND0BRANCH__HXX
|
|
#define BHV0__BHV0BRANCHFOUNDATION__FND0BRANCH__HXX
|
|
|
|
#include <vector>
|
|
#include <metaframework/CreateInput.hxx>
|
|
#include <map>
|
|
#include <unidefs.h>
|
|
#include <string>
|
|
#include <common/tc_deprecation_macros.h>
|
|
#include <metaframework/BusinessObjectExtender.hxx>
|
|
#include <metaframework/BusinessObjectExtenderRef.hxx>
|
|
#include <metaframework/BusinessObjectExtenderRegistry.hxx>
|
|
|
|
#include <bhv0branchfoundation/libbhv0branchfoundation_exports.h>
|
|
|
|
namespace bhv0
|
|
{
|
|
namespace bhv0branchfoundation
|
|
{
|
|
class Fnd0Branch;
|
|
}
|
|
}
|
|
namespace bhv0
|
|
{
|
|
namespace bhv0branchfoundation
|
|
{
|
|
class Fnd0BranchImpl;
|
|
}
|
|
}
|
|
namespace bhv0
|
|
{
|
|
namespace bhv0branchfoundation
|
|
{
|
|
class Fnd0BranchDelegate;
|
|
}
|
|
}
|
|
namespace bhv0
|
|
{
|
|
namespace bhv0branchfoundation
|
|
{
|
|
class Fnd0BranchDispatch;
|
|
}
|
|
}
|
|
namespace bhv0
|
|
{
|
|
namespace bhv0branchfoundation
|
|
{
|
|
class Fnd0BranchGenImpl;
|
|
}
|
|
}
|
|
namespace Teamcenter
|
|
{
|
|
class RootObjectImpl;
|
|
}
|
|
|
|
class BHV0BRANCHFOUNDATION_API bhv0::bhv0branchfoundation::Fnd0Branch
|
|
: public ::Teamcenter::BusinessObjectExtender
|
|
{
|
|
public:
|
|
|
|
/**
|
|
* Constructor
|
|
*/
|
|
Fnd0Branch( tag_t objTag );
|
|
/**
|
|
* Get the Extender Registry
|
|
* @return - return Extender Registry
|
|
*/
|
|
static ::Teamcenter::BusinessObjectExtenderRegistry< bhv0::bhv0branchfoundation::Fnd0Branch >& extenderRegistry();
|
|
|
|
/**
|
|
* Get the Extender Interface Name
|
|
* @return - return desc for getExtenderInterfaceName
|
|
*/
|
|
static const std::string& getExtenderInterfaceName();
|
|
|
|
|
|
///
|
|
/// 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 bhv0AddContents( 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 bhv0AddParentContents( 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 bhv0CancelCheckoutContents( 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 bhv0CheckinContents( 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 bhv0CheckOutContents( 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 bhv0CreateLabel( 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 “latest” 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 bhv0GetContents( 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 bhv0MergeContents( 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 bhv0ObsoleteContents( 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 bhv0PromoteContents( const std::vector< tag_t > &contents, tag_t sourceBranch, const std::vector< ::Teamcenter::CreateInput* > &relationProperties, ::Teamcenter::CreateInput *comment );
|
|
protected:
|
|
// Method to initialize
|
|
virtual void initialize( ::Teamcenter::RootObjectImpl* impl );
|
|
|
|
|
|
/**
|
|
* Destructor
|
|
*/
|
|
virtual ~Fnd0Branch();
|
|
|
|
private:
|
|
// Getter method for the Implementation Object
|
|
Fnd0BranchImpl* getFnd0BranchImpl() const;
|
|
// Setter method for the Implementation Object
|
|
::Teamcenter::RootObjectImpl* setFnd0BranchImpl( ::Teamcenter::RootObjectImpl* impl );
|
|
|
|
// Method to set the delete impl boolean
|
|
void setDeleteImpl( bool del );
|
|
|
|
// Pointer to the Implementation object
|
|
Fnd0BranchImpl* m_fnd0branchImpl;
|
|
|
|
// Flag to indicate if Implementation object needs to be deleted
|
|
bool m_deleteImpl;
|
|
|
|
/**
|
|
* Name of the Business Object
|
|
*/
|
|
static std::string name;
|
|
|
|
/**
|
|
* Private default constructor. We do not want this class instantiated without the business object passed in.
|
|
* @param Fnd0Branch - desc for Fnd0Branch parameter
|
|
*/
|
|
Fnd0Branch( const Fnd0Branch& );
|
|
Fnd0Branch& operator=( const Fnd0Branch& );
|
|
|
|
friend class Fnd0BranchDelegate;
|
|
friend class Fnd0BranchDispatch;
|
|
friend class Fnd0BranchGenImpl;
|
|
};
|
|
|
|
#include <bhv0branchfoundation/libbhv0branchfoundation_undef.h>
|
|
#endif // BHV0__BHV0BRANCHFOUNDATION__FND0BRANCH__HXX
|