//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, Lbr0HierarchyNode Filename: Lbr0HierarchyNode.hxx Module: Lbr0librarymgmt @BMIDE autogenerated ==================================================================================================*/ #ifndef TEAMCENTER__LIBRARYMGMT__LBR0HIERARCHYNODE__HXX #define TEAMCENTER__LIBRARYMGMT__LBR0HIERARCHYNODE__HXX #include #include #include #include #include namespace Teamcenter { namespace LibraryMgmt { class Lbr0HierarchyNode; } } namespace Teamcenter { namespace LibraryMgmt { class Lbr0HierarchyNodeImpl; } } namespace Teamcenter { namespace LibraryMgmt { class Lbr0HierarchyNodeDelegate; } } namespace Teamcenter { namespace LibraryMgmt { class Lbr0HierarchyNodeDispatch; } } namespace Teamcenter { namespace LibraryMgmt { class Lbr0HierarchyNodeGenImpl; } } namespace Teamcenter { class RootObjectImpl; } class LBR0LIBRARYMGMT_API Teamcenter::LibraryMgmt::Lbr0HierarchyNode : public ::Teamcenter::Classification::Cls0HierarchyNode { public: /** * Get the Interface Name * @return - return desc for getInterfaceName */ static const std::string& getInterfaceName(); /// /// Getter for an String Array Property /// @version Teamcenter 11.1 /// @param values - Parameter value /// @param isNull - Returns true for an array element if the parameter value at that location is null /// @return - Status. 0 if successful /// int getLbr0RepresentationIntents( std::vector< std::string > &values, std::vector< int > &isNull ) const; /// /// Getter for a Tag Array Property /// @version Teamcenter 11.1 /// @param values - Parameter value /// @param isNull - Returns true for an array element if the parameter value at that location is null /// @return - Status. 0 if successful /// int getLbr0RepresentationObjects( std::vector< tag_t > &values, std::vector< int > &isNull ) const; /// /// Setter for a Tag Property /// @version Teamcenter 11.1 /// @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 setLbr0ClassificationNode( const tag_t &value, bool isNull=false ); /// /// Publish Objects to a Library Node /// @version Teamcenter 11.1 /// @param objectsToPublish - The objects to Publish to the Library Node /// @param clsProperties - The OperationInputs containing property names and values to be used during the creation of the Classification Objects /// @param elementProperties - The OperationInputs containing property names and values to be used during the creation of the Library Elements /// @param createdElements - The reference to the Library Elements created /// @param failedObjects - Objects that failed to be published /// @param errorCodes - Error codes corresponding to the failed objects /// @return - Zero if success otherwise the error code /// int lbr0PublishToLibraryNode( const std::vector< tag_t > *objectsToPublish, const std::vector< tag_t > *clsProperties, const std::vector< tag_t > *elementProperties, std::vector< tag_t > *createdElements, std::vector< tag_t > *failedObjects, std::vector< int > *errorCodes ); /// /// Retract objects from a Library Node /// @version Teamcenter 11.1 /// @param objectsToRetract - The Library Elements or Objects to Retract from the Library Node /// @param deleteClsObjects - Indicates whether Classification Object should also be deleted /// @param failedObjects - Objects that failed to be retracted /// @param errorCodes - Error codes corresponding to the failed objects /// @return - Zero if success otherwise the error code /// int lbr0RetractFromLibraryNode( const std::vector< tag_t > *objectsToRetract, const bool deleteClsObjects, std::vector< tag_t > *failedObjects, std::vector< int > *errorCodes ); /// /// Validates whether an Instantiate can be done for the required Library Elements /// @version Teamcenter 11.1 /// @param libraryElements - The Library Elements to Instantiate into a Design /// @param properties - Operation Inputs containing names and values of custom properties that should be passed in from the Design. (Example: IsPrecise, true) /// @param validationCodes - The success or failure codes for the Instantiation validation done for each input Library Element /// @return - Zero if success otherwise the error code /// int lbr0ValidateInstantiations( const std::vector< tag_t > *libraryElements, const std::vector< tag_t > *properties, std::vector< int > *validationCodes ); protected: // Method to initialize virtual void initialize( ::Teamcenter::RootObjectImpl* impl ); /** * Constructor */ Lbr0HierarchyNode(); /** * Destructor */ virtual ~Lbr0HierarchyNode(); private: // Getter method for the Implementation Object Lbr0HierarchyNodeImpl* getLbr0HierarchyNodeImpl() const; // Setter method for the Implementation Object ::Teamcenter::RootObjectImpl* setLbr0HierarchyNodeImpl( ::Teamcenter::RootObjectImpl* impl ); // Method to set the delete impl boolean void setDeleteImpl( bool del ); // Pointer to the Implementation object Lbr0HierarchyNodeImpl* m_lbr0hierarchynodeImpl; // 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 Lbr0HierarchyNode - desc for Lbr0HierarchyNode parameter */ Lbr0HierarchyNode( const Lbr0HierarchyNode& ); Lbr0HierarchyNode& operator=( const Lbr0HierarchyNode& ); friend class Lbr0HierarchyNodeDelegate; friend class Lbr0HierarchyNodeDispatch; friend class Lbr0HierarchyNodeGenImpl; }; #include #endif // TEAMCENTER__LIBRARYMGMT__LBR0HIERARCHYNODE__HXX