//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, Lbr0HierarchyNodeDelegate Filename: Lbr0HierarchyNodeDelegate.hxx Module: Lbr0librarymgmt @BMIDE autogenerated ==================================================================================================*/ #ifndef TEAMCENTER__LIBRARYMGMT__LBR0HIERARCHYNODEDELEGATE_HXX #define TEAMCENTER__LIBRARYMGMT__LBR0HIERARCHYNODEDELEGATE_HXX #include #include #include namespace Teamcenter { namespace LibraryMgmt { class Lbr0HierarchyNodeDelegate; } } namespace Teamcenter { namespace LibraryMgmt { class Lbr0HierarchyNodeImpl; } } namespace Teamcenter { namespace LibraryMgmt { class Lbr0HierarchyNode; } } namespace Teamcenter { namespace LibraryMgmt { class Lbr0HierarchyNodeGenImpl; } } namespace Teamcenter_alias = ::Teamcenter; class LBR0LIBRARYMGMT_API Teamcenter_alias::LibraryMgmt::Lbr0HierarchyNodeDelegate { public: // Method to initialize this Class static int initializeClass(); // Method to get the Lbr0HierarchyNodeDelegate instance static Lbr0HierarchyNodeDelegate& getInstance(); // Method to create the Lbr0HierarchyNodeImpl pointer static Lbr0HierarchyNodeImpl* createImpl( Lbr0HierarchyNode& ifObj ); // Method to delete the Lbr0HierarchyNodeImpl pointer static void deleteImpl( Lbr0HierarchyNodeImpl* impl ); /// /// 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 getLbr0RepresentationIntentsBase(const Lbr0HierarchyNode &ifObj, 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 getLbr0RepresentationObjectsBase(const Lbr0HierarchyNode &ifObj, 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 setLbr0ClassificationNodeBase(Lbr0HierarchyNode &ifObj, const tag_t &value, bool isNull ); /// /// 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 lbr0PublishToLibraryNodeBase(const Lbr0HierarchyNode &ifObj, 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 lbr0RetractFromLibraryNodeBase(const Lbr0HierarchyNode &ifObj, 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 lbr0ValidateInstantiationsBase(const Lbr0HierarchyNode &ifObj, const std::vector< tag_t > *libraryElements, const std::vector< tag_t > *properties, std::vector< int > *validationCodes ); /// /// desc for createPost /// @version Tc 8 /// @param creInput - Description for the Create Input /// @return - return desc for createPost /// int createPostBase(const Lbr0HierarchyNode &ifObj, ::Teamcenter::CreateInput *creInput ); /// /// Description for the Finalize Create Input /// @version Tc 8 /// @param creInput - desc for creInput parameter /// @return - Return desc for Initialize for Create /// int finalizeCreateInputBase(const Lbr0HierarchyNode &ifObj, ::Teamcenter::CreateInput *creInput ); /// /// finalize operation input /// @version Teamcenter 9 /// @param pSavAsInput - desc /// @param vecDeepCopyData - desc /// @return - returns an int /// int finalizeSaveAsInputBase(const Lbr0HierarchyNode &ifObj, ::Teamcenter::SaveAsInput *pSavAsInput, std::vector< ::Teamcenter::DeepCopyData* > *vecDeepCopyData ); /// /// This operation returns the children to be displayed when expanding this object. /// @version Teamcenter 10 /// @param propertyNames - The list of propertyNames to expand. If empty, then the properties defined in _DefaultChildProperties and _DefaultPseudoFolder are returned. /// @param childTags - Tags of children. /// @param childContextPropertyNames - The propertyName in which this child exists in the parent. /// @return - status /// int fnd0GetChildrenBase(const Lbr0HierarchyNode &ifObj, const std::vector< std::string > *propertyNames, std::vector< tag_t > *childTags, std::vector< std::string > *childContextPropertyNames ); /// /// desc for validate for create /// @version Tc 8 /// @param creInput - desc for creInput parameter /// @return - ret desc for validate for create /// int validateCreateInputBase(const Lbr0HierarchyNode &ifObj, ::Teamcenter::CreateInput *creInput ); /// /// validate saveas input /// @version Teamcenter 9 /// @param pSavAsInput - desc /// @param vecDeepCopyData - desc /// @return - returns an int /// int validateSaveAsInputBase(const Lbr0HierarchyNode &ifObj, ::Teamcenter::SaveAsInput *pSavAsInput, std::vector< ::Teamcenter::DeepCopyData* > *vecDeepCopyData ); /// /// Getter for a Tag Property /// @version Teamcenter 11.1 /// @param value - Parameter value /// @param isNull - Returns true if the Parameter value is null /// @return - Status. 0 if successful /// int getCls0iconBase(const Lbr0HierarchyNode &ifObj, tag_t &value, bool &isNull ) const; /// /// Getter for a Tag Property /// @version Teamcenter 11.1 /// @param value - Parameter value /// @param isNull - Returns true if the Parameter value is null /// @return - Status. 0 if successful /// int getCls0imageBase(const Lbr0HierarchyNode &ifObj, tag_t &value, bool &isNull ) const; protected: // Pointer to the instance static Lbr0HierarchyNodeDelegate* m_pInstance; Lbr0HierarchyNodeDelegate(); virtual ~Lbr0HierarchyNodeDelegate(); static void setInstance( Lbr0HierarchyNodeDelegate* instance ); private: friend class ::Teamcenter::LibraryMgmt::Lbr0HierarchyNodeGenImpl; }; #include #endif // TEAMCENTER__LIBRARYMGMT__LBR0HIERARCHYNODEDELEGATE_HXX