00001 /* 00002 * Copyright 2003 Michael A. Marsh, Cornell University. All rights reserved. 00003 * This software is released under the modified BSD license. 00004 * See the file LICENSE in the top-level directory for details. 00005 */ 00006 // 00007 // $Id: BigNumber.h,v 1.4 2005/01/21 19:44:15 mmarsh Exp $ 00008 // 00009 // $Log: BigNumber.h,v $ 00010 // Revision 1.4 2005/01/21 19:44:15 mmarsh 00011 // Updated for compatibility with Doxygen 1.4.1 00012 // 00013 // Revision 1.3 2004/05/19 15:56:37 mmarsh 00014 // Added copyright and license statements. 00015 // 00016 // Revision 1.2 2003/11/04 22:31:46 mmarsh 00017 // *** empty log message *** 00018 // 00019 // 00020 00021 #ifndef __CODEX_ASN1_BIGNUMBER_H__ 00022 #define __CODEX_ASN1_BIGNUMBER_H__ 00023 00024 #include "Base.h" 00025 00026 namespace CODEX_ASN1 00027 { 00034 class BigNumber : public Base 00035 { 00036 public : 00038 BigNumber(); 00040 BigNumber( BIGNUM * pBN ); 00042 BigNumber( const ASN1_INTEGER* asn1 ); 00044 BigNumber( const BigNumber& aBN ); 00046 virtual ~BigNumber(); 00047 00049 void operator=( const BigNumber& aBN ); 00050 00052 void operator=( BIGNUM * pBN ); 00053 00055 bool operator==( const BigNumber& aBN ) const; 00056 00058 bool operator!=( const BigNumber& aBN ) const; 00059 00061 bool operator<( const BigNumber& aBN ) const; 00062 00064 bool operator>( const BigNumber& aBN ) const; 00065 00067 const BIGNUM * value() const { return m_value; } 00069 const ASN1_INTEGER * asn1() const; 00070 00071 int marshal( unsigned char ** pp ) const; 00072 void* unmarshal( void* bogus, unsigned char** pp, long length ); 00073 00074 protected : 00075 BIGNUM * m_value; 00076 mutable ASN1_INTEGER * m_asn1; 00077 }; 00078 00079 } 00080 00081 #endif /* __CODEX_ASN1_BIGNUMBER_H__ */
1.4.1