libkdenetwork Library API Documentation

result_p.h

00001 /* result.h - base class for results
00002    Copyright (C) 2004 Klarälvdalens Datakonsult AB
00003 
00004    This file is part of GPGME++.
00005  
00006    GPGME++ is free software; you can redistribute it and/or modify it
00007    under the terms of the GNU General Public License as published by
00008    the Free Software Foundation; either version 2 of the License, or
00009    (at your option) any later version.
00010  
00011    GPGME++ is distributed in the hope that it will be useful, but
00012    WITHOUT ANY WARRANTY; without even the implied warranty of
00013    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014    General Public License for more details.
00015 
00016    You should have received a copy of the GNU General Public License
00017    along with GPGME++; if not, write to the Free Software Foundation,
00018    Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA.
00019 */
00020 
00021 #ifndef __GPGMEPP_RESULT_P_H__
00022 #define __GPGMEPP_RESULT_P_H__
00023 
00024 #define make_copy_ctor(x) \
00025 GpgME::x::x( const x & other ) \
00026   : GpgME::Result( other ), d( other.d ) \
00027 { \
00028   if ( d ) \
00029     d->ref(); \
00030 }
00031 
00032 #define make_error_ctor(x) \
00033 GpgME::x::x( const Error & error ) \
00034   : GpgME::Result( error ), d( 0 ) \
00035 { \
00036  \
00037 }
00038 
00039 #define make_assignment_operator(x) \
00040 const GpgME::x & GpgME::x::operator=( const x & other ) { \
00041   if ( other.d ) \
00042     other.d->ref(); \
00043   if ( this->d ) \
00044     this->d->unref(); \
00045   this->d = other.d; \
00046  \
00047   Result::operator=( other ); \
00048  \
00049   return *this; \
00050 }
00051 
00052 #define make_dtor(x) \
00053 GpgME::x::~x() { \
00054   if ( d ) \
00055     d->unref(); \
00056   d = 0; \
00057 }
00058 
00059 #define make_isNull(x) bool GpgME::x::isNull() const { return !d || error(); }
00060 
00061 #define make_standard_stuff(x) \
00062 make_copy_ctor(x) \
00063 make_error_ctor(x) \
00064 make_assignment_operator(x) \
00065 make_isNull(x) \
00066 make_dtor(x)
00067 
00068 
00069 #endif // __GPGMEPP_RESULT_P_H__
KDE Logo
This file is part of the documentation for libkdenetwork Library Version 3.3.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Fri Dec 21 14:21:41 2007 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003