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.

166 lines
4.1 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, UserSession
Filename: UserSessionExt.hxx
Module: cm
@BMIDE autogenerated
==================================================================================================*/
#ifndef CM0__TEAMCENTER__CM__USERSESSION__HXX
#define CM0__TEAMCENTER__CM__USERSESSION__HXX
#include <unidefs.h>
#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 UserSession;
}
}
}
namespace cm0
{
namespace Teamcenter
{
namespace CM
{
class UserSessionImpl;
}
}
}
namespace cm0
{
namespace Teamcenter
{
namespace CM
{
class UserSessionDelegate;
}
}
}
namespace cm0
{
namespace Teamcenter
{
namespace CM
{
class UserSessionDispatch;
}
}
}
namespace cm0
{
namespace Teamcenter
{
namespace CM
{
class UserSessionGenImpl;
}
}
}
namespace Teamcenter
{
class RootObjectImpl;
}
class CM_API cm0::Teamcenter::CM::UserSession
: public ::Teamcenter::BusinessObjectExtender
{
public:
/**
* Constructor
*/
UserSession( tag_t objTag );
/**
* Get the Extender Registry
* @return - return Extender Registry
*/
static ::Teamcenter::BusinessObjectExtenderRegistry< cm0::Teamcenter::CM::UserSession >& extenderRegistry();
/**
* Get the Extender Interface Name
* @return - return desc for getExtenderInterfaceName
*/
static const std::string& getExtenderInterfaceName();
///
/// Getter for a Tag Property
/// @version Teamcenter 11.5
/// @param value - Parameter value
/// @param isNull - Returns true if the Parameter value is null
/// @return - Status. 0 if successful
///
int getCm0GlobalChangeContext( tag_t &value, bool &isNull ) const;
///
/// Setter for a Tag Property
/// @version Teamcenter 11.5
/// @param value - Value to be set for the parameter
/// @param isNull - If true, set the parameter value to null
/// @return - Status. 0 if successful
///
int setCm0GlobalChangeContext( const tag_t &value, bool isNull=false );
protected:
// Method to initialize
virtual void initialize( ::Teamcenter::RootObjectImpl* impl );
/**
* Destructor
*/
virtual ~UserSession();
private:
// Getter method for the Implementation Object
UserSessionImpl* getUserSessionImpl() const;
// Setter method for the Implementation Object
::Teamcenter::RootObjectImpl* setUserSessionImpl( ::Teamcenter::RootObjectImpl* impl );
// Method to set the delete impl boolean
void setDeleteImpl( bool del );
// Pointer to the Implementation object
UserSessionImpl* m_usersessionImpl;
// 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 UserSession - desc for UserSession parameter
*/
UserSession( const UserSession& );
UserSession& operator=( const UserSession& );
friend class UserSessionDelegate;
friend class UserSessionDispatch;
friend class UserSessionGenImpl;
};
#include <cm/libcm_undef.h>
#endif // CM0__TEAMCENTER__CM__USERSESSION__HXX