//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, WorkspaceObject Filename: WorkspaceObjectExt.hxx Module: cm @BMIDE autogenerated ==================================================================================================*/ #ifndef CM0__TEAMCENTER__CM__WORKSPACEOBJECT__HXX #define CM0__TEAMCENTER__CM__WORKSPACEOBJECT__HXX #include #include #include #include #include #include #include #include namespace cm0 { namespace Teamcenter { namespace CM { class WorkspaceObject; } } } namespace cm0 { namespace Teamcenter { namespace CM { class WorkspaceObjectImpl; } } } namespace cm0 { namespace Teamcenter { namespace CM { class WorkspaceObjectDelegate; } } } namespace cm0 { namespace Teamcenter { namespace CM { class WorkspaceObjectDispatch; } } } namespace cm0 { namespace Teamcenter { namespace CM { class WorkspaceObjectGenImpl; } } } namespace Teamcenter { class RootObjectImpl; } class CM_API cm0::Teamcenter::CM::WorkspaceObject : public ::Teamcenter::BusinessObjectExtender { public: /** * Constructor */ WorkspaceObject( tag_t objTag ); /** * Get the Extender Registry * @return - return Extender Registry */ static ::Teamcenter::BusinessObjectExtenderRegistry< cm0::Teamcenter::CM::WorkspaceObject >& extenderRegistry(); /** * Get the Extender Interface Name * @return - return desc for getExtenderInterfaceName */ static const std::string& getExtenderInterfaceName(); /// /// This operation takes the objects to process and returns probable impacted items as output. /// @version Teamcenter 12.2 /// @param changeItemRevision - Change Item Revision /// @param relatedObjectsToProcess - Related objects to be processed /// @param extraOptionsToConsider - Extra options to consider while calculating impacted objects. /// @param probableImpactedItems - Probable Impacted Items /// @return - Returns vector of probable impacted items. /// int cm0GetImpactedObjects( const tag_t &changeItemRevision, std::vector< tag_t > &relatedObjectsToProcess, const std::map< std::string,std::string > &extraOptionsToConsider, std::vector< tag_t > &probableImpactedItems ); protected: // Method to initialize virtual void initialize( ::Teamcenter::RootObjectImpl* impl ); /** * Destructor */ virtual ~WorkspaceObject(); private: // Getter method for the Implementation Object WorkspaceObjectImpl* getWorkspaceObjectImpl() const; // Setter method for the Implementation Object ::Teamcenter::RootObjectImpl* setWorkspaceObjectImpl( ::Teamcenter::RootObjectImpl* impl ); // Method to set the delete impl boolean void setDeleteImpl( bool del ); // Pointer to the Implementation object WorkspaceObjectImpl* m_workspaceobjectImpl; // 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 WorkspaceObject - desc for WorkspaceObject parameter */ WorkspaceObject( const WorkspaceObject& ); WorkspaceObject& operator=( const WorkspaceObject& ); friend class WorkspaceObjectDelegate; friend class WorkspaceObjectDispatch; friend class WorkspaceObjectGenImpl; }; #include #endif // CM0__TEAMCENTER__CM__WORKSPACEOBJECT__HXX