Teamcenter C++ API Reference  2312
Fnd0BranchExt.hxx
Go to the documentation of this file.
1 //Copyright 2022 Siemens Digital Industries Software
2 //==================================================
3 //Copyright $2023.
4 //Siemens Product Lifecycle Management Software Inc.
5 //All Rights Reserved.
6 //==================================================
7 //Copyright 2022 Siemens Digital Industries Software
8 
9 /*==================================================================================================
10 File description:
11  This file contains the declaration for the Business Object, Fnd0Branch
12  Filename: Fnd0BranchExt.hxx
13  Module: bhv0branchfoundation
14  @BMIDE autogenerated
15 ==================================================================================================*/
16 
17 #ifndef BHV0__BHV0BRANCHFOUNDATION__FND0BRANCH__HXX
18 #define BHV0__BHV0BRANCHFOUNDATION__FND0BRANCH__HXX
19 
20 #include <vector>
22 #include <map>
23 #include <unidefs.h>
24 #include <string>
25 #include <common/tc_deprecation_macros.h>
29 
30 #include <bhv0branchfoundation/libbhv0branchfoundation_exports.h>
31 
32 namespace bhv0
33 {
34  namespace bhv0branchfoundation
35  {
36  class Fnd0Branch;
37  }
38 }
39 namespace bhv0
40 {
41  namespace bhv0branchfoundation
42  {
43  class Fnd0BranchImpl;
44  }
45 }
46 namespace bhv0
47 {
48  namespace bhv0branchfoundation
49  {
50  class Fnd0BranchDelegate;
51  }
52 }
53 namespace bhv0
54 {
55  namespace bhv0branchfoundation
56  {
57  class Fnd0BranchDispatch;
58  }
59 }
60 namespace bhv0
61 {
62  namespace bhv0branchfoundation
63  {
64  class Fnd0BranchGenImpl;
65  }
66 }
67 namespace Teamcenter
68 {
69  class RootObjectImpl;
70 }
71 
72 class BHV0BRANCHFOUNDATION_API bhv0::bhv0branchfoundation::Fnd0Branch
74 {
75 public:
76 
80  Fnd0Branch( tag_t objTag );
85  static ::Teamcenter::BusinessObjectExtenderRegistry< bhv0::bhv0branchfoundation::Fnd0Branch >& extenderRegistry();
86 
91  static const std::string& getExtenderInterfaceName();
92 
93 
101  int bhv0AddContents( const std::vector< tag_t > &contents, const std::vector< ::Teamcenter::CreateInput* > &relationProperties );
102 
112  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 );
113 
122  int bhv0CancelCheckoutContents( const std::vector< tag_t > &contentsForCCO, std::vector< tag_t > &branchContentsAfterCCO, std::vector< int > &statusCodes );
123 
132  int bhv0CheckinContents( const std::vector< tag_t > &contents, const ::Teamcenter::CreateInput *comment, bool publishFlag );
133 
142  int bhv0CheckOutContents( const std::vector< tag_t > &contents, const std::vector< ::Teamcenter::CreateInput* > &relationProperties, std::vector< tag_t > &newBranchContents );
143 
152  int bhv0CreateLabel( const std::string &name, const std::string &description, tag_t &createdLabel );
153 
164  int bhv0GetContents( const std::string &label, std::vector< tag_t > &branchContents );
165 
177  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 );
178 
189  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 );
190 
200  int bhv0PromoteContents( const std::vector< tag_t > &contents, tag_t sourceBranch, const std::vector< ::Teamcenter::CreateInput* > &relationProperties, ::Teamcenter::CreateInput *comment );
201 protected:
202  // Method to initialize
203  virtual void initialize( ::Teamcenter::RootObjectImpl* impl );
204 
205 
209  virtual ~Fnd0Branch();
210 
211 private:
212  // Getter method for the Implementation Object
213  Fnd0BranchImpl* getFnd0BranchImpl() const;
214  // Setter method for the Implementation Object
215  ::Teamcenter::RootObjectImpl* setFnd0BranchImpl( ::Teamcenter::RootObjectImpl* impl );
216 
217  // Method to set the delete impl boolean
218  void setDeleteImpl( bool del );
219 
220  // Pointer to the Implementation object
221  Fnd0BranchImpl* m_fnd0branchImpl;
222 
223  // Flag to indicate if Implementation object needs to be deleted
225 
229  static std::string name;
230 
235  Fnd0Branch( const Fnd0Branch& );
236  Fnd0Branch& operator=( const Fnd0Branch& );
237 
238  friend class Fnd0BranchDelegate;
239  friend class Fnd0BranchGenImpl;
240 };
241 
242 #include <bhv0branchfoundation/libbhv0branchfoundation_undef.h>
243 #endif // BHV0__BHV0BRANCHFOUNDATION__FND0BRANCH__HXX