vendor.h

00001 #ifndef PKGLIB_VENDOR_H
00002 #define PKGLIB_VENDOR_H
00003 #include <string>
00004 #include <vector>
00005 #include <map>
00006 
00007 
00008 using std::string;
00009 
00010 // A class representing a particular software provider. 
00011 class Vendor
00012 {
00013    public:
00014    struct Fingerprint
00015    {
00016       string Print;
00017       string Description;
00018    };
00019 
00020    protected:
00021    string VendorID;
00022    string Origin;
00023    std::map<string, string> Fingerprints;
00024 
00025    public:
00026    Vendor(string VendorID, string Origin,
00027           std::vector<struct Fingerprint *> *FingerprintList);
00028    virtual const string& GetVendorID() const { return VendorID; };
00029    virtual const string LookupFingerprint(string Print) const;
00030    virtual bool CheckDist(string Dist);
00031    virtual ~Vendor(){};
00032 };
00033 
00034 #endif