File indexing completed on 2023-09-24 04:15:36
0001 /* 0002 This file is part of the syndication library 0003 SPDX-FileCopyrightText: 2006 Frank Osterfeld <osterfeld@kde.org> 0004 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 #include "resourcewrapper.h" 0009 #include "model.h" 0010 #include "resource.h" 0011 0012 namespace Syndication 0013 { 0014 namespace RDF 0015 { 0016 class SYNDICATION_NO_EXPORT ResourceWrapper::ResourceWrapperPrivate 0017 { 0018 public: 0019 ResourcePtr resource; 0020 Model model; 0021 }; 0022 0023 ResourceWrapper::ResourceWrapper() 0024 : d(new ResourceWrapperPrivate) 0025 { 0026 d->resource = ResourcePtr(new Resource()); 0027 } 0028 0029 ResourceWrapper::ResourceWrapper(const ResourceWrapper &other) 0030 { 0031 *this = other; 0032 } 0033 0034 ResourceWrapper::ResourceWrapper(ResourcePtr resource) 0035 : d(new ResourceWrapperPrivate) 0036 { 0037 // if a null pointer is passed, we create a null resource 0038 d->resource = !resource ? ResourcePtr(new Resource()) : resource; 0039 d->model = d->resource->model(); 0040 } 0041 0042 ResourceWrapper::~ResourceWrapper() 0043 { 0044 } 0045 0046 ResourceWrapper &ResourceWrapper::operator=(const ResourceWrapper &other) 0047 { 0048 d = other.d; 0049 return *this; 0050 } 0051 0052 bool ResourceWrapper::operator==(const ResourceWrapper &other) const 0053 { 0054 return *(d->resource) == *(other.d->resource); 0055 } 0056 0057 bool ResourceWrapper::isNull() const 0058 { 0059 return d->resource->isNull(); 0060 } 0061 0062 ResourcePtr ResourceWrapper::resource() const 0063 { 0064 return d->resource; 0065 } 0066 0067 } // namespace RDF 0068 } // namespace Syndication