Teamcenter C++ API Reference  2312
WorkspaceObjectExt.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, WorkspaceObject
12  Filename: WorkspaceObjectExt.hxx
13  Module: cm
14  @BMIDE autogenerated
15 ==================================================================================================*/
16 
17 #ifndef CM0__TEAMCENTER__CM__WORKSPACEOBJECT__HXX
18 #define CM0__TEAMCENTER__CM__WORKSPACEOBJECT__HXX
19 
20 #include <unidefs.h>
21 #include <vector>
22 #include <map>
23 #include <common/tc_deprecation_macros.h>
27 
28 #include <cm/libcm_exports.h>
29 
30 namespace cm0
31 {
32  namespace Teamcenter
33  {
34  namespace CM
35  {
36  class WorkspaceObject;
37  }
38  }
39 }
40 namespace cm0
41 {
42  namespace Teamcenter
43  {
44  namespace CM
45  {
46  class WorkspaceObjectImpl;
47  }
48  }
49 }
50 namespace cm0
51 {
52  namespace Teamcenter
53  {
54  namespace CM
55  {
56  class WorkspaceObjectDelegate;
57  }
58  }
59 }
60 namespace cm0
61 {
62  namespace Teamcenter
63  {
64  namespace CM
65  {
66  class WorkspaceObjectDispatch;
67  }
68  }
69 }
70 namespace cm0
71 {
72  namespace Teamcenter
73  {
74  namespace CM
75  {
76  class WorkspaceObjectGenImpl;
77  }
78  }
79 }
80 namespace Teamcenter
81 {
82  class RootObjectImpl;
83 }
84 
87 {
88 public:
89 
93  WorkspaceObject( tag_t objTag );
98  static ::Teamcenter::BusinessObjectExtenderRegistry< cm0::Teamcenter::CM::WorkspaceObject >& extenderRegistry();
99 
104  static const std::string& getExtenderInterfaceName();
105 
106 
114  int getCm0ActiveChange( std::vector< tag_t > &values, std::vector< int > &isNull ) const;
115 
125  int cm0GetImpactedObjects( const tag_t &changeItemRevision, std::vector< tag_t > &relatedObjectsToProcess, const std::map< std::string,std::string > &extraOptionsToConsider, std::vector< tag_t > &probableImpactedItems );
126 protected:
127  // Method to initialize
128  virtual void initialize( ::Teamcenter::RootObjectImpl* impl );
129 
130 
134  virtual ~WorkspaceObject();
135 
136 private:
137  // Getter method for the Implementation Object
138  WorkspaceObjectImpl* getWorkspaceObjectImpl() const;
139  // Setter method for the Implementation Object
140  ::Teamcenter::RootObjectImpl* setWorkspaceObjectImpl( ::Teamcenter::RootObjectImpl* impl );
141 
142  // Method to set the delete impl boolean
143  void setDeleteImpl( bool del );
144 
145  // Pointer to the Implementation object
146  WorkspaceObjectImpl* m_workspaceobjectImpl;
147 
148  // Flag to indicate if Implementation object needs to be deleted
150 
154  static std::string name;
155 
162 
163  friend class WorkspaceObjectDelegate;
164  friend class WorkspaceObjectGenImpl;
165 };
166 
167 #include <cm/libcm_undef.h>
168 #endif // CM0__TEAMCENTER__CM__WORKSPACEOBJECT__HXX