Line data Source code
1 : /*! 2 : * \file esys/repo/manifest/capturefilexml_manifest.cpp 3 : * \brief 4 : * 5 : * \cond 6 : * __legal_b__ 7 : * 8 : * Copyright (c) 2023 Michel Gillet 9 : * Distributed under the MIT License. 10 : * (See accompanying file LICENSE.txt or 11 : * copy at https://opensource.org/licenses/MIT) 12 : * 13 : * __legal_e__ 14 : * \endcond 15 : * 16 : */ 17 : 18 : #include "esys/repo/esysrepo_prec.h" 19 : #include "esys/repo/manifest/multifilexml.h" 20 : #include "esys/repo/manifest/multifilexmlimpl.h" 21 : 22 : namespace esys::repo::manifest 23 : { 24 : 25 4 : MultiFileXML::MultiFileXML() 26 4 : : MultiFileBase() 27 : { 28 4 : m_impl = std::make_unique<MultiFileXMLImpl>(this); 29 4 : } 30 : 31 4 : MultiFileXML::~MultiFileXML() = default; 32 : 33 1 : Result MultiFileXML::read(const std::string &path) 34 : { 35 1 : return get_impl()->read(path); 36 : } 37 : 38 2 : Result MultiFileXML::read(std::istream &is) 39 : { 40 2 : return get_impl()->read(is); 41 : } 42 : 43 1 : Result MultiFileXML::write(const std::string &path) 44 : { 45 1 : return get_impl()->write(path); 46 : } 47 : 48 2 : Result MultiFileXML::write(std::ostream &os) 49 : { 50 2 : return get_impl()->write(os); 51 : } 52 : 53 6 : MultiFileXMLImpl *MultiFileXML::get_impl() const 54 : { 55 6 : return m_impl.get(); 56 : } 57 : 58 : } // namespace esys::repo::manifest