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.

161 lines
4.3 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, WorkspaceObject
Filename: WorkspaceObjectExt.hxx
Module: cm
@BMIDE autogenerated
==================================================================================================*/
#ifndef CM0__TEAMCENTER__CM__WORKSPACEOBJECT__HXX
#define CM0__TEAMCENTER__CM__WORKSPACEOBJECT__HXX
#include <unidefs.h>
#include <vector>
#include <map>
#include <common/tc_deprecation_macros.h>
#include <metaframework/BusinessObjectExtender.hxx>
#include <metaframework/BusinessObjectExtenderRef.hxx>
#include <metaframework/BusinessObjectExtenderRegistry.hxx>
#include <cm/libcm_exports.h>
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 <cm/libcm_undef.h>
#endif // CM0__TEAMCENTER__CM__WORKSPACEOBJECT__HXX