syndication/rdf
resourcewrapper.cpp
00001 /* 00002 * This file is part of the syndication library 00003 * 00004 * Copyright (C) 2006 Frank Osterfeld <osterfeld@kde.org> 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU Library General Public 00008 * License as published by the Free Software Foundation; either 00009 * version 2 of the License, or (at your option) any later version. 00010 * 00011 * This library is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 * Library General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU Library General Public License 00017 * along with this library; see the file COPYING.LIB. If not, write to 00018 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00019 * Boston, MA 02110-1301, USA. 00020 * 00021 */ 00022 #include "resourcewrapper.h" 00023 #include "resource.h" 00024 00025 00026 namespace Syndication { 00027 namespace RDF { 00028 00029 class ResourceWrapper::ResourceWrapperPrivate 00030 { 00031 public: 00032 00033 ResourcePtr resource; 00034 }; 00035 00036 ResourceWrapper::ResourceWrapper() : d(new ResourceWrapperPrivate) 00037 { 00038 d->resource = ResourcePtr( new Resource() ); 00039 } 00040 00041 ResourceWrapper::ResourceWrapper(const ResourceWrapper& other) 00042 { 00043 *this = other; 00044 } 00045 00046 ResourceWrapper::ResourceWrapper(ResourcePtr resource) : d(new ResourceWrapperPrivate) 00047 { 00048 // if a null pointer is passed, we create a null resource 00049 d->resource = !resource ? ResourcePtr( new Resource() ) : resource; 00050 } 00051 00052 ResourceWrapper::~ResourceWrapper() 00053 { 00054 } 00055 00056 ResourceWrapper& ResourceWrapper::operator=(const ResourceWrapper& other) 00057 { 00058 d = other.d; 00059 return *this; 00060 } 00061 00062 bool ResourceWrapper::operator==(const ResourceWrapper& other) const 00063 { 00064 return *(d->resource) == *(other.d->resource); 00065 } 00066 00067 bool ResourceWrapper::isNull() const 00068 { 00069 return d->resource->isNull(); 00070 } 00071 00072 ResourcePtr ResourceWrapper::resource() const 00073 { 00074 return d->resource; 00075 } 00076 00077 } // namespace RDF 00078 } // namespace Syndication