File indexing completed on 2024-04-14 03:58:28

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