- initial import of revision 374 from cnc
[apt.git] / apt-pkg / contrib / hashes.h
1 // -*- mode: cpp; mode: fold -*-
2 // Description                                                          /*{{{*/
3 // $Id: hashes.h,v 1.1 2002/07/23 17:54:51 niemeyer Exp $
4 /* ######################################################################
5
6    Hashes - Simple wrapper around the hash functions
7    
8    This is just used to make building the methods simpler, this is the
9    only interface required..
10    
11    ##################################################################### */
12                                                                         /*}}}*/
13 #ifndef APTPKG_HASHES_H
14 #define APTPKG_HASHES_H
15
16 #ifdef __GNUG__
17 #pragma interface "apt-pkg/hashes.h"
18 #endif 
19
20 #include <apt-pkg/md5.h>
21 #include <apt-pkg/sha1.h>
22
23 class Hashes
24 {
25    public:
26
27    MD5Summation MD5;
28    SHA1Summation SHA1;
29    
30    inline bool Add(const unsigned char *Data,unsigned long Size)
31    {
32       return MD5.Add(Data,Size) && SHA1.Add(Data,Size);
33    };
34    inline bool Add(const char *Data) {return Add((unsigned char *)Data,strlen(Data));};
35    bool AddFD(int Fd,unsigned long Size);
36    inline bool Add(const unsigned char *Beg,const unsigned char *End) 
37                   {return Add(Beg,End-Beg);};
38 };
39
40 #endif