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
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
|