Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

Package.h

Go to the documentation of this file.
00001 #ifndef DEBTAGS_PACKAGE_H
00002 #define DEBTAGS_PACKAGE_H
00003 
00004 #pragma interface
00005 
00006 #include "PackageDB.h"
00007 
00008 #include <string>
00009 
00010 namespace Tagcoll
00011 {
00012 class Tag;
00013 class TagSet;
00014 };
00015 
00016 namespace Debtags
00017 {
00018 using namespace Tagcoll;
00019 
00020 class AvailableReader;
00021 class StandardEnvironment;
00022 class PackageImpl;
00023 class PackageSet;
00024 class Maintainer;
00025 
00026 class Package
00027 {
00028 protected:
00029     PackageImpl* impl;
00030 
00031     explicit Package(PackageImpl* existing_impl) throw ();
00032 
00033 public:
00034     Package() throw ();
00035     explicit Package(const std::string& name) throw ();
00036     Package(const Package& f) throw ();
00037     ~Package() throw ();
00038     Package& operator=(const Package& f) throw ();
00039 
00040     bool operator==(const Package& f) const throw ();
00041     bool operator<(const Package& f) const throw ();
00042 
00043     operator bool() const throw ();
00044 
00045     const std::string& name() const throw ();
00046 
00047     const std::string& sdesc() const throw ();
00048     const std::string& ldesc() const throw ();
00049     const Maintainer& maint() const throw ();
00050     int state() const throw (PackageDBException);
00051 
00052     const std::string& sdesc(const std::string& sdesc) throw ();
00053     const std::string& ldesc(const std::string& ldesc) throw ();
00054     const Maintainer& maint(const Maintainer& maint) throw ();
00055     const std::string& fulldata(const std::string& fulldata) throw ();
00056 
00057     const TagSet tags() const throw ();
00058     const std::string& fulldata() const throw ();
00059 
00060     friend class PackageSet;
00061     friend class PackageImpl;
00062     friend class AvailableReader;
00063     friend class StandardEnvironment;
00064 };
00065 
00066 };
00067 
00068 // vim:set ts=3 sw=3:
00069 #endif

Generated on Sat Mar 19 17:12:09 2005 for libdebtags by  doxygen 1.4.1