/////////////////////////////////////////////////////////////////////////////// // 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 _ZIPIO_MODULE_H_ #define _ZIPIO_MODULE_H_ #include "daiIOModule.h" #include "ZipIOBuildOptions.h" #define STL_USING_MAP #include "OdaSTL.h" namespace OdDAI { class Repository; typedef OdSmartPtr RepositoryPtr; class DiskFolder; typedef OdSmartPtr DiskFolderPtr; } namespace OdZipIO { /** \details This class represents a module for working with ZIP input/output operations. */ class ZIPIO_EXPORT OdZipIOModule : public OdDAIIOModule { public: /** \details Initializes the OdZipIOModule module. */ virtual void initApp(); /** \details Uninitializes the OdZipIOModule module. */ virtual void uninitApp(); /** \details Serializes the repository into file of supported format. \param fileName [in] File name. \param repo [in] Raw pointer to a repository. \returns eOk if serialized successfully; otherwise the method returns an appropriate error code. */ virtual OdResult serialize(const OdString &fileName, OdDAI::Repository *repo); /** \details Deserializes the repository from file of supported format. \param fileName [in] File name. \param repo [in] Raw pointer to a repository. \returns eOk if deserialized successfully; otherwise the method returns an appropriate error code. */ virtual OdResult deserialize(const OdString &fileName, OdDAI::Repository *repo); /** \details Deserializes the repository from file of supported format. \param fileName [in] File name. \param repo [in] Raw pointer to a repository. \param pDiskFolder [in] Smart pointer to an instance for working with archive folder. \returns eOk if deserialized successfully; otherwise the method returns an appropriate error code. */ virtual OdResult deserialize(const OdString &fileName, OdDAI::Repository *repo, OdDAI::DiskFolderPtr &pDiskFolder); //DOM-IGNORE-BEGIN private: std::map m_fileCache; //DOM-IGNORE-END }; /** \details A data type that represents a smart pointer to an OdZipIOModule object. */ typedef OdSmartPtr OdZipIOModulePtr; } //namespace OdZipIO #endif // _ZIPIO_MODULE_H_