/////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2002-2025, Open Design Alliance (the "Alliance"). // All rights reserved. // // This software and its documentation and related materials are owned by // the Alliance. The software may only be incorporated into application // programs owned by members of the Alliance, subject to a signed // Membership Agreement and Supplemental Software License Agreement with the // Alliance. The structure and organization of this software are the valuable // trade secrets of the Alliance and its suppliers. The software is also // protected by copyright law and international treaty provisions. Application // programs incorporating this software must include the following statement // with their copyright notices: // // This application incorporates Open Design Alliance software pursuant to a license // agreement with Open Design Alliance. // Open Design Alliance Copyright (C) 2002-2025 by Open Design Alliance. // All rights reserved. // // By use of this software, its documentation or related materials, you // acknowledge and accept the above terms. /////////////////////////////////////////////////////////////////////////////// #ifndef EX_HTML_VALIDATION_NOTIFIER_H #define EX_HTML_VALIDATION_NOTIFIER_H #include "daiValidationNotifier.h" #include "ExValidationCommon.h" #include /** \details A class which notifies validation tasks information to the HTML file. */ class DAI_EXPORT HtmlValidationNotifier : public OdDAI::ValidationNotifier { //DOM-IGNORE-BEGIN ODRX_DECLARE_MEMBERS(HtmlValidationNotifier); //DOM-IGNORE-END public: /** \details Notifies some validation information to the HTML file. \param instanceId [in] OdDAI object identifiers of the entity instances with validation problems. \param result [in] Result of validation. */ virtual void onValidationResult(OdDAI::ValidationTaskPtr validationTask, const OdDAIObjectIds& invalidObjects, OdDAI::Logical result) override; /** \details Notification which is called at the beginning of validation process. */ virtual void onStartValidation() override; /** \details Notification which is called at the end of validation process. */ virtual void onEndValidation() override; /** \details Sets output file name. \param fileName [in] An ANSI string that contains the name of the output HTML file. */ void setFileName(const OdAnsiString& fileName); void changeInfo(const OdAnsiString& line); private: void addInstanceToFile(); std::ofstream m_htmlOutFile; std::ifstream m_htmlTemplate; OdAnsiString m_fileName; ResultStatistics m_statistics; std::multimap > m_invalidAttributes; OdDAIObjectId m_actualInstanceId = 0; }; /** \details A data type that represents a smart pointer to an