Line data Source code
1 : /*! 2 : * \file esys/repo/manifest/directoryfilexml_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/directoryfilexml.h" 20 : #include "esys/repo/manifest/directoryfilexmlimpl.h" 21 : 22 : namespace esys::repo::manifest 23 : { 24 : 25 4 : DirectoryFileXML::DirectoryFileXML() 26 : { 27 4 : m_impl = std::make_unique<DirectoryFileXMLImpl>(this); 28 4 : } 29 : 30 8 : DirectoryFileXML::~DirectoryFileXML() = default; 31 : 32 5 : void DirectoryFileXML::set_directory(std::shared_ptr<Directory> directory) 33 : { 34 5 : m_directory = directory; 35 5 : } 36 : 37 24 : std::shared_ptr<Directory> DirectoryFileXML::get_directory() const 38 : { 39 24 : return m_directory; 40 : } 41 : 42 3 : Result DirectoryFileXML::read(const std::string &path) 43 : { 44 3 : return m_impl->read(path); 45 : } 46 : 47 1 : Result DirectoryFileXML::read(std::istream &is) 48 : { 49 1 : return m_impl->read(is); 50 : } 51 : 52 1 : Result DirectoryFileXML::write(const std::string &path) 53 : { 54 1 : return m_impl->write(path); 55 : } 56 : 57 1 : Result DirectoryFileXML::write(std::ostream &os) 58 : { 59 1 : return m_impl->write(os); 60 : } 61 0 : DirectoryFileXMLImpl *DirectoryFileXML::get_impl() const 62 : { 63 0 : return m_impl.get(); 64 : } 65 : 66 : } // namespace esys::repo::manifest