Teamcenter C++ API Reference  2312
ImanItemLine.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, ImanItemLine
12  Filename: ImanItemLine.hxx
13  Module: bom
14  @BMIDE autogenerated
15 ==================================================================================================*/
16 
17 #ifndef TEAMCENTER__IMANITEMLINE__HXX
18 #define TEAMCENTER__IMANITEMLINE__HXX
19 
20 #include <unidefs.h>
21 #include <vector>
24 #include <map>
25 #include <common/tc_deprecation_macros.h>
26 #include <bom/BOMLine.hxx>
27 
28 #include <bom/libbom_exports.h>
29 
30 namespace Teamcenter
31 {
32  class ImanItemLine;
33 }
34 namespace Teamcenter
35 {
36  class ImanItemLineImpl;
37 }
38 namespace Teamcenter
39 {
40  class ImanItemLineDelegate;
41 }
42 namespace Teamcenter
43 {
44  class ImanItemLineDispatch;
45 }
46 namespace Teamcenter
47 {
48  class ImanItemLineGenImpl;
49 }
50 namespace Teamcenter
51 {
52  class RootObjectImpl;
53 }
54 
55 class BOM_API Teamcenter::ImanItemLine
56  : public ::Teamcenter::BOMLine
57 {
58 public:
59 
64  static const std::string& getInterfaceName();
65 
66 
75  int fnd0AddSubstitute( tag_t itemOrRevision, tag_t bomView, tag_t *newLine );
76 
84  int fnd0getCustomConfiguredIrf( const tag_t *bomLineTag, tag_t *itemRevTag );
85 
92  int fnd0PreferSubstitute( bool *isTemporary );
93 
104  static int fnd0SplitLinesForEffectivity( std::vector< ::Teamcenter::BulkInput* > *bulkInput, ::Teamcenter::BulkData *bd, std::vector< tag_t > *splitEffs, std::map< tag_t,tag_t > *sourceLineToSplitLineMap );
105 protected:
106  // Method to initialize
107  virtual void initialize( ::Teamcenter::RootObjectImpl* impl );
108 
112  ImanItemLine();
113 
117  virtual ~ImanItemLine();
118 
119 private:
120  // Getter method for the Implementation Object
121  ImanItemLineImpl* getImanItemLineImpl() const;
122  // Setter method for the Implementation Object
123  ::Teamcenter::RootObjectImpl* setImanItemLineImpl( ::Teamcenter::RootObjectImpl* impl );
124 
125  // Method to set the delete impl boolean
126  void setDeleteImpl( bool del );
127 
128  // Pointer to the Implementation object
129  ImanItemLineImpl* m_imanitemlineImpl;
130 
131  // Flag to indicate if Implementation object needs to be deleted
133 
137  static std::string name;
138 
143  ImanItemLine( const ImanItemLine& );
145 
146  friend class ImanItemLineDelegate;
147  friend class ImanItemLineGenImpl;
148 };
149 
150 #include <bom/libbom_undef.h>
151 #endif // TEAMCENTER__IMANITEMLINE__HXX