libkdenetwork Library API Documentation

signingresult.h

00001 /* signingresult.h - wraps a gpgme sign result
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_SIGNINGRESULT_H__
00022 #define __GPGMEPP_SIGNINGRESULT_H__
00023 
00024 #include <gpgmepp/gpgmefw.h>
00025 #include <gpgmepp/result.h>
00026 #include <gpgmepp/context.h>
00027 
00028 #include <time.h>
00029 
00030 #include <vector>
00031 
00032 namespace GpgME {
00033 
00034   class Error;
00035   class CreatedSignature;
00036   class InvalidSigningKey;
00037 
00038   class SigningResult : public Result {
00039   public:
00040     SigningResult( gpgme_ctx_t ctx=0, int error=0 );
00041     explicit SigningResult( const Error & err );
00042     SigningResult( const SigningResult & other );
00043     ~SigningResult();
00044 
00045     const SigningResult & operator=( const SigningResult & other );
00046 
00047     bool isNull() const;
00048 
00049     CreatedSignature createdSignature( unsigned int index ) const;
00050     std::vector<CreatedSignature> createdSignatures() const;
00051 
00052     InvalidSigningKey invalidSigningKey( unsigned int index ) const;
00053     std::vector<InvalidSigningKey> invalidSigningKeys() const;
00054 
00055     class Private;
00056   private:
00057     Private * d;
00058   };
00059 
00060   class InvalidSigningKey {
00061     friend class SigningResult;
00062     InvalidSigningKey( SigningResult::Private * parent, unsigned int index );
00063   public:
00064     InvalidSigningKey();
00065     InvalidSigningKey( const InvalidSigningKey & other );
00066     ~InvalidSigningKey();
00067 
00068     const InvalidSigningKey & operator=( const InvalidSigningKey & other );
00069 
00070     bool isNull() const;
00071 
00072     const char * fingerprint() const;
00073     Error reason() const;
00074 
00075   private:
00076     SigningResult::Private * d;
00077     unsigned int idx;
00078   };
00079 
00080   class CreatedSignature {
00081     friend class SigningResult;
00082     CreatedSignature( SigningResult::Private * parent, unsigned int index );
00083   public:
00084     class Notation;
00085 
00086     CreatedSignature();
00087     CreatedSignature( const CreatedSignature & other );
00088     ~CreatedSignature();
00089 
00090     const CreatedSignature & operator=( const CreatedSignature & other );
00091 
00092     bool isNull() const;
00093 
00094     const char * fingerprint() const;
00095 
00096     time_t creationTime() const;
00097 
00098     Context::SignatureMode mode() const;
00099     
00100     unsigned int publicKeyAlgorithm() const;
00101     const char * publicKeyAlgorithmAsString() const;
00102 
00103     unsigned int hashAlgorithm() const;
00104     const char * hashAlgorithmAsString() const;
00105 
00106     unsigned int signatureClass() const;
00107 
00108   private:
00109     SigningResult::Private * d;
00110     unsigned int idx;
00111   };
00112 
00113 }
00114 
00115 #endif // __GPGMEPP_SIGNINGRESULT_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 Wed Jan 31 15:51:51 2007 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003