Просмотр исходного кода

add d-pointer, virtual destructors and de-inline de/constructors

To have a chance to keep the ABI for a while we need all three to team
up. One of them missing and we might loose, so ensuring that they are
available is a very tedious but needed task once in a while.

Git-Dch: Ignore
David Kalnischkies лет назад: 11
Родитель
Сommit
c8a4ce6cbe
59 измененных файлов с 348 добавлено и 205 удалено
  1. 10 1
      apt-pkg/acquire-item.cc
  2. 12 4
      apt-pkg/acquire-item.h
  3. 5 1
      apt-pkg/acquire-method.cc
  4. 8 1
      apt-pkg/acquire-method.h
  5. 0 1
      apt-pkg/acquire-worker.h
  6. 9 0
      apt-pkg/acquire.cc
  7. 1 9
      apt-pkg/acquire.h
  8. 3 3
      apt-pkg/algorithms.h
  9. 10 11
      apt-pkg/aptconfiguration.h
  10. 0 1
      apt-pkg/cachefile.h
  11. 14 1
      apt-pkg/cacheset.cc
  12. 17 7
      apt-pkg/cacheset.h
  13. 6 0
      apt-pkg/cdrom.cc
  14. 9 2
      apt-pkg/cdrom.h
  15. 1 0
      apt-pkg/clean.cc
  16. 2 0
      apt-pkg/clean.h
  17. 1 0
      apt-pkg/deb/debindexfile.cc
  18. 6 2
      apt-pkg/deb/debindexfile.h
  19. 2 0
      apt-pkg/deb/debmetaindex.cc
  20. 2 1
      apt-pkg/deb/debmetaindex.h
  21. 7 0
      apt-pkg/deb/debrecords.cc
  22. 9 6
      apt-pkg/deb/debrecords.h
  23. 4 0
      apt-pkg/deb/debsrcrecords.cc
  24. 1 3
      apt-pkg/deb/debsrcrecords.h
  25. 0 1
      apt-pkg/deb/debversion.h
  26. 4 2
      apt-pkg/depcache.h
  27. 62 61
      apt-pkg/edsp.cc
  28. 13 29
      apt-pkg/edsp.h
  29. 2 0
      apt-pkg/edsp/edspindexfile.cc
  30. 1 0
      apt-pkg/edsp/edspindexfile.h
  31. 2 0
      apt-pkg/edsp/edsplistparser.cc
  32. 2 0
      apt-pkg/edsp/edsplistparser.h
  33. 1 1
      apt-pkg/edsp/edspsystem.h
  34. 10 0
      apt-pkg/indexcopy.cc
  35. 19 4
      apt-pkg/indexcopy.h
  36. 3 0
      apt-pkg/indexfile.cc
  37. 4 2
      apt-pkg/indexfile.h
  38. 0 3
      apt-pkg/indexrecords.h
  39. 6 0
      apt-pkg/install-progress.cc
  40. 10 1
      apt-pkg/install-progress.h
  41. 1 0
      apt-pkg/metaindex.h
  42. 2 2
      apt-pkg/orderlist.h
  43. 1 1
      apt-pkg/packagemanager.h
  44. 2 0
      apt-pkg/pkgcache.cc
  45. 3 2
      apt-pkg/pkgcache.h
  46. 3 0
      apt-pkg/pkgcachegen.cc
  47. 8 9
      apt-pkg/pkgcachegen.h
  48. 3 0
      apt-pkg/pkgrecords.cc
  49. 5 3
      apt-pkg/pkgrecords.h
  50. 2 0
      apt-pkg/pkgsystem.cc
  51. 3 2
      apt-pkg/pkgsystem.h
  52. 2 0
      apt-pkg/policy.cc
  53. 3 2
      apt-pkg/policy.h
  54. 2 2
      apt-pkg/sourcelist.h
  55. 0 1
      apt-pkg/srcrecords.h
  56. 0 2
      apt-pkg/tagfile.h
  57. 3 0
      apt-pkg/version.cc
  58. 1 1
      apt-pkg/version.h
  59. 26 20
      test/libapt/acqprogress_test.cc

+ 10 - 1
apt-pkg/acquire-item.cc

@@ -438,7 +438,7 @@ APT_PURE pkgAcquire * pkgAcquire::Item::GetOwner() const		/*{{{*/
    return Owner;
    return Owner;
 }
 }
 									/*}}}*/
 									/*}}}*/
-pkgAcquire::ItemDesc &pkgAcquire::Item::GetItemDesc()			/*{{{*/
+APT_CONST pkgAcquire::ItemDesc &pkgAcquire::Item::GetItemDesc()		/*{{{*/
 {
 {
    return Desc;
    return Desc;
 }
 }
@@ -1098,6 +1098,7 @@ bool pkgAcqMetaBase::VerifyVendor(string const &Message)		/*{{{*/
    return true;
    return true;
 }
 }
 									/*}}}*/
 									/*}}}*/
+pkgAcqMetaBase::~pkgAcqMetaBase() {}
 
 
 pkgAcqMetaClearSig::pkgAcqMetaClearSig(pkgAcquire * const Owner,	/*{{{*/
 pkgAcqMetaClearSig::pkgAcqMetaClearSig(pkgAcquire * const Owner,	/*{{{*/
       IndexTarget const &ClearsignedTarget,
       IndexTarget const &ClearsignedTarget,
@@ -1319,6 +1320,7 @@ std::string pkgAcqMetaIndex::DescURI() const				/*{{{*/
    return Target.URI;
    return Target.URI;
 }
 }
 									/*}}}*/
 									/*}}}*/
+pkgAcqMetaIndex::~pkgAcqMetaIndex() {}
 
 
 // AcqMetaSig::AcqMetaSig - Constructor					/*{{{*/
 // AcqMetaSig::AcqMetaSig - Constructor					/*{{{*/
 pkgAcqMetaSig::pkgAcqMetaSig(pkgAcquire * const Owner,
 pkgAcqMetaSig::pkgAcqMetaSig(pkgAcquire * const Owner,
@@ -1491,6 +1493,7 @@ pkgAcqBaseIndex::pkgAcqBaseIndex(pkgAcquire * const Owner,
 {
 {
 }
 }
 									/*}}}*/
 									/*}}}*/
+pkgAcqBaseIndex::~pkgAcqBaseIndex() {}
 
 
 // AcqDiffIndex::AcqDiffIndex - Constructor				/*{{{*/
 // AcqDiffIndex::AcqDiffIndex - Constructor				/*{{{*/
 // ---------------------------------------------------------------------
 // ---------------------------------------------------------------------
@@ -1893,6 +1896,7 @@ void pkgAcqDiffIndex::Done(string const &Message,HashStringList const &Hashes,	/
    return;
    return;
 }
 }
 									/*}}}*/
 									/*}}}*/
+pkgAcqDiffIndex::~pkgAcqDiffIndex() {}
 
 
 // AcqIndexDiffs::AcqIndexDiffs - Constructor				/*{{{*/
 // AcqIndexDiffs::AcqIndexDiffs - Constructor				/*{{{*/
 // ---------------------------------------------------------------------
 // ---------------------------------------------------------------------
@@ -2119,6 +2123,7 @@ std::string pkgAcqIndexDiffs::Custom600Headers() const			/*{{{*/
    return patchhashes.str();
    return patchhashes.str();
 }
 }
 									/*}}}*/
 									/*}}}*/
+pkgAcqIndexDiffs::~pkgAcqIndexDiffs() {}
 
 
 // AcqIndexMergeDiffs::AcqIndexMergeDiffs - Constructor			/*{{{*/
 // AcqIndexMergeDiffs::AcqIndexMergeDiffs - Constructor			/*{{{*/
 pkgAcqIndexMergeDiffs::pkgAcqIndexMergeDiffs(pkgAcquire * const Owner,
 pkgAcqIndexMergeDiffs::pkgAcqIndexMergeDiffs(pkgAcquire * const Owner,
@@ -2263,6 +2268,7 @@ std::string pkgAcqIndexMergeDiffs::Custom600Headers() const		/*{{{*/
    return patchhashes.str();
    return patchhashes.str();
 }
 }
 									/*}}}*/
 									/*}}}*/
+pkgAcqIndexMergeDiffs::~pkgAcqIndexMergeDiffs() {}
 
 
 // AcqIndex::AcqIndex - Constructor					/*{{{*/
 // AcqIndex::AcqIndex - Constructor					/*{{{*/
 pkgAcqIndex::pkgAcqIndex(pkgAcquire * const Owner,
 pkgAcqIndex::pkgAcqIndex(pkgAcquire * const Owner,
@@ -2539,6 +2545,7 @@ void pkgAcqIndex::StageDecompressDone(string const &,
    return;
    return;
 }
 }
 									/*}}}*/
 									/*}}}*/
+pkgAcqIndex::~pkgAcqIndex() {}
 
 
 
 
 // AcqArchive::AcqArchive - Constructor					/*{{{*/
 // AcqArchive::AcqArchive - Constructor					/*{{{*/
@@ -2836,6 +2843,7 @@ std::string pkgAcqArchive::ShortDesc() const				/*{{{*/
    return Desc.ShortDesc;
    return Desc.ShortDesc;
 }
 }
 									/*}}}*/
 									/*}}}*/
+pkgAcqArchive::~pkgAcqArchive() {}
 
 
 // AcqChangelog::pkgAcqChangelog - Constructors				/*{{{*/
 // AcqChangelog::pkgAcqChangelog - Constructors				/*{{{*/
 pkgAcqChangelog::pkgAcqChangelog(pkgAcquire * const Owner, pkgCache::VerIterator const &Ver,
 pkgAcqChangelog::pkgAcqChangelog(pkgAcquire * const Owner, pkgCache::VerIterator const &Ver,
@@ -3156,3 +3164,4 @@ string pkgAcqFile::Custom600Headers() const				/*{{{*/
    return "";
    return "";
 }
 }
 									/*}}}*/
 									/*}}}*/
+pkgAcqFile::~pkgAcqFile() {}

+ 12 - 4
apt-pkg/acquire-item.h

@@ -1,6 +1,5 @@
 // -*- mode: cpp; mode: fold -*-
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
 // Description								/*{{{*/
-// $Id: acquire-item.h,v 1.26.2.3 2004/01/02 18:51:00 mdz Exp $
 /* ######################################################################
 /* ######################################################################
 
 
    Acquire Item - Item to acquire
    Acquire Item - Item to acquire
@@ -345,6 +344,7 @@ class pkgAcquire::Item : public WeakPointable				/*{{{*/
 class APT_HIDDEN pkgAcqTransactionItem: public pkgAcquire::Item		/*{{{*/
 class APT_HIDDEN pkgAcqTransactionItem: public pkgAcquire::Item		/*{{{*/
 /** \brief baseclass for the indexes files to manage them all together */
 /** \brief baseclass for the indexes files to manage them all together */
 {
 {
+   void *d;
    protected:
    protected:
    IndexTarget const Target;
    IndexTarget const Target;
    HashStringList GetExpectedHashesFor(std::string const MetaKey) const;
    HashStringList GetExpectedHashesFor(std::string const MetaKey) const;
@@ -380,7 +380,6 @@ class APT_HIDDEN pkgAcqMetaBase : public pkgAcqTransactionItem		/*{{{*/
 /** \brief the manager of a transaction */
 /** \brief the manager of a transaction */
 {
 {
    void *d;
    void *d;
-
  protected:
  protected:
    std::vector<pkgAcqTransactionItem*> Transaction;
    std::vector<pkgAcqTransactionItem*> Transaction;
 
 
@@ -478,6 +477,7 @@ class APT_HIDDEN pkgAcqMetaBase : public pkgAcqTransactionItem		/*{{{*/
 		  std::vector<IndexTarget> const IndexTargets,
 		  std::vector<IndexTarget> const IndexTargets,
 		  IndexTarget const &DataTarget,
 		  IndexTarget const &DataTarget,
 		  indexRecords* const MetaIndexParser);
 		  indexRecords* const MetaIndexParser);
+   virtual ~pkgAcqMetaBase();
 };
 };
 									/*}}}*/
 									/*}}}*/
 /** \brief An item that is responsible for downloading the meta-index	{{{
 /** \brief An item that is responsible for downloading the meta-index	{{{
@@ -493,7 +493,6 @@ class APT_HIDDEN pkgAcqMetaBase : public pkgAcqTransactionItem		/*{{{*/
 class APT_HIDDEN pkgAcqMetaIndex : public pkgAcqMetaBase
 class APT_HIDDEN pkgAcqMetaIndex : public pkgAcqMetaBase
 {
 {
    void *d;
    void *d;
-
    protected:
    protected:
    IndexTarget const DetachedSigTarget;
    IndexTarget const DetachedSigTarget;
 
 
@@ -513,6 +512,7 @@ class APT_HIDDEN pkgAcqMetaIndex : public pkgAcqMetaBase
    pkgAcqMetaIndex(pkgAcquire * const Owner, pkgAcqMetaBase * const TransactionManager,
    pkgAcqMetaIndex(pkgAcquire * const Owner, pkgAcqMetaBase * const TransactionManager,
 		   IndexTarget const &DataTarget, IndexTarget const &DetachedSigTarget,
 		   IndexTarget const &DataTarget, IndexTarget const &DetachedSigTarget,
 		   std::vector<IndexTarget> const IndexTargets, indexRecords * const MetaIndexParser);
 		   std::vector<IndexTarget> const IndexTargets, indexRecords * const MetaIndexParser);
+   virtual ~pkgAcqMetaIndex();
 
 
    friend class pkgAcqMetaSig;
    friend class pkgAcqMetaSig;
 };
 };
@@ -589,6 +589,7 @@ class APT_HIDDEN pkgAcqBaseIndex : public pkgAcqTransactionItem
 
 
    pkgAcqBaseIndex(pkgAcquire * const Owner, pkgAcqMetaBase * const TransactionManager,
    pkgAcqBaseIndex(pkgAcquire * const Owner, pkgAcqMetaBase * const TransactionManager,
                    IndexTarget const Target);
                    IndexTarget const Target);
+   virtual ~pkgAcqBaseIndex();
 };
 };
 									/*}}}*/
 									/*}}}*/
 /** \brief An item that is responsible for fetching an index file of	{{{
 /** \brief An item that is responsible for fetching an index file of	{{{
@@ -652,6 +653,7 @@ class APT_HIDDEN pkgAcqDiffIndex : public pkgAcqBaseIndex
     */
     */
    pkgAcqDiffIndex(pkgAcquire * const Owner, pkgAcqMetaBase * const TransactionManager,
    pkgAcqDiffIndex(pkgAcquire * const Owner, pkgAcqMetaBase * const TransactionManager,
                    IndexTarget const Target);
                    IndexTarget const Target);
+   virtual ~pkgAcqDiffIndex();
  private:
  private:
    APT_HIDDEN void QueueOnIMSHit() const;
    APT_HIDDEN void QueueOnIMSHit() const;
 };
 };
@@ -751,6 +753,7 @@ class APT_HIDDEN pkgAcqIndexMergeDiffs : public pkgAcqBaseIndex
    pkgAcqIndexMergeDiffs(pkgAcquire * const Owner, pkgAcqMetaBase * const TransactionManager,
    pkgAcqIndexMergeDiffs(pkgAcquire * const Owner, pkgAcqMetaBase * const TransactionManager,
                          IndexTarget const Target, DiffInfo const &patch,
                          IndexTarget const Target, DiffInfo const &patch,
                          std::vector<pkgAcqIndexMergeDiffs*> const * const allPatches);
                          std::vector<pkgAcqIndexMergeDiffs*> const * const allPatches);
+   virtual ~pkgAcqIndexMergeDiffs();
 };
 };
 									/*}}}*/
 									/*}}}*/
 /** \brief An item that is responsible for fetching server-merge patches {{{
 /** \brief An item that is responsible for fetching server-merge patches {{{
@@ -864,6 +867,7 @@ class APT_HIDDEN pkgAcqIndexDiffs : public pkgAcqBaseIndex
    pkgAcqIndexDiffs(pkgAcquire * const Owner, pkgAcqMetaBase * const TransactionManager,
    pkgAcqIndexDiffs(pkgAcquire * const Owner, pkgAcqMetaBase * const TransactionManager,
                     IndexTarget const Target,
                     IndexTarget const Target,
 		    std::vector<DiffInfo> const &diffs=std::vector<DiffInfo>());
 		    std::vector<DiffInfo> const &diffs=std::vector<DiffInfo>());
+   virtual ~pkgAcqIndexDiffs();
 };
 };
 									/*}}}*/
 									/*}}}*/
 /** \brief An acquire item that is responsible for fetching an index	{{{
 /** \brief An acquire item that is responsible for fetching an index	{{{
@@ -940,8 +944,10 @@ class APT_HIDDEN pkgAcqIndex : public pkgAcqBaseIndex
 
 
    pkgAcqIndex(pkgAcquire * const Owner, pkgAcqMetaBase * const TransactionManager,
    pkgAcqIndex(pkgAcquire * const Owner, pkgAcqMetaBase * const TransactionManager,
                IndexTarget const Target);
                IndexTarget const Target);
+   virtual ~pkgAcqIndex();
 
 
-   void Init(std::string const &URI, std::string const &URIDesc,
+   private:
+   APT_HIDDEN void Init(std::string const &URI, std::string const &URIDesc,
              std::string const &ShortDesc);
              std::string const &ShortDesc);
 };
 };
 									/*}}}*/
 									/*}}}*/
@@ -1030,6 +1036,7 @@ class pkgAcqArchive : public pkgAcquire::Item
    pkgAcqArchive(pkgAcquire * const Owner,pkgSourceList * const Sources,
    pkgAcqArchive(pkgAcquire * const Owner,pkgSourceList * const Sources,
 		 pkgRecords * const Recs,pkgCache::VerIterator const &Version,
 		 pkgRecords * const Recs,pkgCache::VerIterator const &Version,
 		 std::string &StoreFilename);
 		 std::string &StoreFilename);
+   virtual ~pkgAcqArchive();
 };
 };
 									/*}}}*/
 									/*}}}*/
 /** \brief Retrieve the changelog for the given version			{{{
 /** \brief Retrieve the changelog for the given version			{{{
@@ -1211,6 +1218,7 @@ class pkgAcqFile : public pkgAcquire::Item
 	      std::string const &Desc, std::string const &ShortDesc,
 	      std::string const &Desc, std::string const &ShortDesc,
 	      std::string const &DestDir="", std::string const &DestFilename="",
 	      std::string const &DestDir="", std::string const &DestFilename="",
 	      bool const IsIndexFile=false);
 	      bool const IsIndexFile=false);
+   virtual ~pkgAcqFile();
 };
 };
 									/*}}}*/
 									/*}}}*/
 /** @} */
 /** @} */

+ 5 - 1
apt-pkg/acquire-method.cc

@@ -478,5 +478,9 @@ void pkgAcqMethod::Dequeue() {						/*{{{*/
    delete Tmp;
    delete Tmp;
 }
 }
 									/*}}}*/
 									/*}}}*/
-
 pkgAcqMethod::~pkgAcqMethod() {}
 pkgAcqMethod::~pkgAcqMethod() {}
+
+pkgAcqMethod::FetchItem::FetchItem() {}
+pkgAcqMethod::FetchItem::~FetchItem() {}
+
+pkgAcqMethod::FetchResult::~FetchResult() {}

+ 8 - 1
apt-pkg/acquire-method.h

@@ -1,6 +1,5 @@
 // -*- mode: cpp; mode: fold -*-
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
 // Description								/*{{{*/
-// $Id: acquire-method.h,v 1.15.2.1 2003/12/24 23:09:17 mdz Exp $
 /* ######################################################################
 /* ######################################################################
 
 
    Acquire Method - Method helper class + functions
    Acquire Method - Method helper class + functions
@@ -53,6 +52,11 @@ class pkgAcqMethod
       // for when we know it or a arbitrary limit when we don't know the
       // for when we know it or a arbitrary limit when we don't know the
       // filesize (like a InRelease file)
       // filesize (like a InRelease file)
       unsigned long long MaximumSize;
       unsigned long long MaximumSize;
+
+      FetchItem();
+      virtual ~FetchItem();
+      private:
+      void *d;
    };
    };
    
    
    struct FetchResult
    struct FetchResult
@@ -67,6 +71,9 @@ class pkgAcqMethod
       
       
       void TakeHashes(class Hashes &Hash);
       void TakeHashes(class Hashes &Hash);
       FetchResult();
       FetchResult();
+      virtual ~FetchResult();
+      private:
+      void *d;
    };
    };
 
 
    // State
    // State

+ 0 - 1
apt-pkg/acquire-worker.h

@@ -1,6 +1,5 @@
 // -*- mode: cpp; mode: fold -*-
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
 // Description								/*{{{*/
-// $Id: acquire-worker.h,v 1.12 2001/02/20 07:03:17 jgg Exp $
 /* ######################################################################
 /* ######################################################################
 
 
    Acquire Worker - Worker process manager
    Acquire Worker - Worker process manager

+ 9 - 0
apt-pkg/acquire.cc

@@ -1143,6 +1143,15 @@ void pkgAcquireStatus::Fetched(unsigned long long Size,unsigned long long Resume
 }
 }
 									/*}}}*/
 									/*}}}*/
 
 
+pkgAcquire::UriIterator::UriIterator(pkgAcquire::Queue *Q) : d(NULL), CurQ(Q), CurItem(0)
+{
+   while (CurItem == 0 && CurQ != 0)
+   {
+      CurItem = CurQ->Items;
+      CurQ = CurQ->Next;
+   }
+}
+
 APT_CONST pkgAcquire::UriIterator::~UriIterator() {}
 APT_CONST pkgAcquire::UriIterator::~UriIterator() {}
 APT_CONST pkgAcquire::MethodConfig::~MethodConfig() {}
 APT_CONST pkgAcquire::MethodConfig::~MethodConfig() {}
 APT_CONST pkgAcquireStatus::~pkgAcquireStatus() {}
 APT_CONST pkgAcquireStatus::~pkgAcquireStatus() {}

+ 1 - 9
apt-pkg/acquire.h

@@ -1,6 +1,5 @@
 // -*- mode: cpp; mode: fold -*-
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
 // Description								/*{{{*/
-// $Id: acquire.h,v 1.29.2.1 2003/12/24 23:09:17 mdz Exp $
 /* ######################################################################
 /* ######################################################################
 
 
    Acquire - File Acquiration
    Acquire - File Acquiration
@@ -626,14 +625,7 @@ class pkgAcquire::UriIterator
     *
     *
     *  \param Q The queue over which this UriIterator should iterate.
     *  \param Q The queue over which this UriIterator should iterate.
     */
     */
-   UriIterator(pkgAcquire::Queue *Q) : d(NULL), CurQ(Q), CurItem(0)
-   {
-      while (CurItem == 0 && CurQ != 0)
-      {
-	 CurItem = CurQ->Items;
-	 CurQ = CurQ->Next;
-      }
-   }   
+   UriIterator(pkgAcquire::Queue *Q);
    virtual ~UriIterator();
    virtual ~UriIterator();
 };
 };
 									/*}}}*/
 									/*}}}*/

+ 3 - 3
apt-pkg/algorithms.h

@@ -1,6 +1,5 @@
 // -*- mode: cpp; mode: fold -*-
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
 // Description								/*{{{*/
-// $Id: algorithms.h,v 1.10 2001/05/22 04:17:41 jgg Exp $
 /* ######################################################################
 /* ######################################################################
 
 
    Algorithms - A set of misc algorithms
    Algorithms - A set of misc algorithms
@@ -55,6 +54,7 @@ using std::ostream;
 
 
 class pkgSimulate : public pkgPackageManager				/*{{{*/
 class pkgSimulate : public pkgPackageManager				/*{{{*/
 {
 {
+   void *d;
    protected:
    protected:
 
 
    class Policy : public pkgDepCache::Policy
    class Policy : public pkgDepCache::Policy
@@ -88,7 +88,7 @@ private:
    public:
    public:
 
 
    pkgSimulate(pkgDepCache *Cache);
    pkgSimulate(pkgDepCache *Cache);
-   ~pkgSimulate();
+   virtual ~pkgSimulate();
 };
 };
 									/*}}}*/
 									/*}}}*/
 class pkgProblemResolver						/*{{{*/
 class pkgProblemResolver						/*{{{*/
@@ -156,7 +156,7 @@ class pkgProblemResolver						/*{{{*/
    APT_DEPRECATED void InstallProtect();
    APT_DEPRECATED void InstallProtect();
 
 
    pkgProblemResolver(pkgDepCache *Cache);
    pkgProblemResolver(pkgDepCache *Cache);
-   ~pkgProblemResolver();
+   virtual ~pkgProblemResolver();
 };
 };
 									/*}}}*/
 									/*}}}*/
 bool pkgApplyStatus(pkgDepCache &Cache);
 bool pkgApplyStatus(pkgDepCache &Cache);

+ 10 - 11
apt-pkg/aptconfiguration.h

@@ -16,8 +16,7 @@
 #include <limits>
 #include <limits>
 									/*}}}*/
 									/*}}}*/
 namespace APT {
 namespace APT {
-class Configuration {							/*{{{*/
-public:									/*{{{*/
+namespace Configuration {							/*{{{*/
 	/** \brief Returns a vector of usable Compression Types
 	/** \brief Returns a vector of usable Compression Types
 	 *
 	 *
 	 *  Files can be compressed in various ways to decrease the size of the
 	 *  Files can be compressed in various ways to decrease the size of the
@@ -39,7 +38,7 @@ public:									/*{{{*/
 	 *
 	 *
 	 *  \return a vector of the compression types in the preferred usage order
 	 *  \return a vector of the compression types in the preferred usage order
 	 */
 	 */
-	std::vector<std::string> static const getCompressionTypes(bool const &Cached = true);
+	std::vector<std::string> const getCompressionTypes(bool const &Cached = true);
 
 
 	/** \brief Returns a vector of Language Codes
 	/** \brief Returns a vector of Language Codes
 	 *
 	 *
@@ -64,7 +63,7 @@ public:									/*{{{*/
 	 *
 	 *
 	 *  \return a vector of (all) Language Codes in the preferred usage order
 	 *  \return a vector of (all) Language Codes in the preferred usage order
 	 */
 	 */
-	std::vector<std::string> static const getLanguages(bool const &All = false,
+	std::vector<std::string> const getLanguages(bool const &All = false,
 			bool const &Cached = true, char const ** const Locale = 0);
 			bool const &Cached = true, char const ** const Locale = 0);
 
 
 	/** \brief Are we interested in the given Language?
 	/** \brief Are we interested in the given Language?
@@ -73,7 +72,7 @@ public:									/*{{{*/
 	 *  \param All defines if we check against all codes or only against used codes
 	 *  \param All defines if we check against all codes or only against used codes
 	 *  \return true if we are interested, false otherwise
 	 *  \return true if we are interested, false otherwise
 	 */
 	 */
-	bool static checkLanguage(std::string Lang, bool const All = false);
+	bool checkLanguage(std::string Lang, bool const All = false);
 
 
 	/** \brief Returns a vector of Architectures we support
 	/** \brief Returns a vector of Architectures we support
 	 *
 	 *
@@ -82,14 +81,14 @@ public:									/*{{{*/
 	 *
 	 *
 	 *  \return a vector of Architectures in preferred order
 	 *  \return a vector of Architectures in preferred order
 	 */
 	 */
-	std::vector<std::string> static const getArchitectures(bool const &Cached = true);
+	std::vector<std::string> const getArchitectures(bool const &Cached = true);
 
 
 	/** \brief Are we interested in the given Architecture?
 	/** \brief Are we interested in the given Architecture?
 	 *
 	 *
 	 *  \param Arch we want to check
 	 *  \param Arch we want to check
 	 *  \return true if we are interested, false otherwise
 	 *  \return true if we are interested, false otherwise
 	 */
 	 */
-	bool static checkArchitecture(std::string const &Arch);
+	bool checkArchitecture(std::string const &Arch);
 
 
 	/** \brief Representation of supported compressors */
 	/** \brief Representation of supported compressors */
 	struct Compressor {
 	struct Compressor {
@@ -113,15 +112,15 @@ public:									/*{{{*/
 	 *
 	 *
 	 *  \return a vector of Compressors
 	 *  \return a vector of Compressors
 	 */
 	 */
-	std::vector<Compressor> static const getCompressors(bool const Cached = true);
+	std::vector<Compressor> const getCompressors(bool const Cached = true);
 
 
 	/** \brief Return a vector of extensions supported for data.tar's */
 	/** \brief Return a vector of extensions supported for data.tar's */
-	std::vector<std::string> static const getCompressorExtensions();
+	std::vector<std::string> const getCompressorExtensions();
 
 
 	/** \return Return a vector of enabled build profile specifications */
 	/** \return Return a vector of enabled build profile specifications */
-	std::vector<std::string> static const getBuildProfiles();
+	std::vector<std::string> const getBuildProfiles();
 	/** \return Return a comma-separated list of enabled build profile specifications */
 	/** \return Return a comma-separated list of enabled build profile specifications */
-	std::string static const getBuildProfilesString();
+	std::string const getBuildProfilesString();
 									/*}}}*/
 									/*}}}*/
 };
 };
 									/*}}}*/
 									/*}}}*/

+ 0 - 1
apt-pkg/cachefile.h

@@ -1,6 +1,5 @@
 // -*- mode: cpp; mode: fold -*-
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
 // Description								/*{{{*/
-// $Id: cachefile.h,v 1.5 2002/04/27 04:28:04 jgg Exp $
 /* ######################################################################
 /* ######################################################################
    
    
    CacheFile - Simple wrapper class for opening, generating and whatnot
    CacheFile - Simple wrapper class for opening, generating and whatnot

+ 14 - 1
apt-pkg/cacheset.cc

@@ -37,7 +37,6 @@
 #include <apti18n.h>
 #include <apti18n.h>
 									/*}}}*/
 									/*}}}*/
 namespace APT {
 namespace APT {
-
 // PackageFrom - selecting the appropriate method for package selection	/*{{{*/
 // PackageFrom - selecting the appropriate method for package selection	/*{{{*/
 bool CacheSetHelper::PackageFrom(enum PkgSelector const select, PackageContainerInterface * const pci,
 bool CacheSetHelper::PackageFrom(enum PkgSelector const select, PackageContainerInterface * const pci,
       pkgCacheFile &Cache, std::string const &pattern) {
       pkgCacheFile &Cache, std::string const &pattern) {
@@ -812,4 +811,18 @@ APT_CONST void CacheSetHelper::showSelectedVersion(pkgCache::PkgIterator const &
 					 bool const /*verIsRel*/) {
 					 bool const /*verIsRel*/) {
 }
 }
 									/*}}}*/
 									/*}}}*/
+
+CacheSetHelper::CacheSetHelper(bool const ShowError, GlobalError::MsgType ErrorType) :
+   ShowError(ShowError), ErrorType(ErrorType) {}
+CacheSetHelper::~CacheSetHelper() {}
+
+PackageContainerInterface::PackageContainerInterface() : ConstructedBy(CacheSetHelper::UNKNOWN) {}
+PackageContainerInterface::PackageContainerInterface(CacheSetHelper::PkgSelector const by) : ConstructedBy(by) {}
+PackageContainerInterface::~PackageContainerInterface() {}
+
+PackageUniverse::PackageUniverse(pkgCache * const Owner) : _cont(Owner) { }
+PackageUniverse::~PackageUniverse() {}
+
+VersionContainerInterface::VersionContainerInterface() {}
+VersionContainerInterface::~VersionContainerInterface() {}
 }
 }

+ 17 - 7
apt-pkg/cacheset.h

@@ -50,9 +50,8 @@ class CacheSetHelper {							/*{{{*/
 */
 */
 public:									/*{{{*/
 public:									/*{{{*/
 	CacheSetHelper(bool const ShowError = true,
 	CacheSetHelper(bool const ShowError = true,
-		GlobalError::MsgType ErrorType = GlobalError::ERROR) :
-			ShowError(ShowError), ErrorType(ErrorType) {}
-	virtual ~CacheSetHelper() {}
+		GlobalError::MsgType ErrorType = GlobalError::ERROR);
+	virtual ~CacheSetHelper();
 
 
 	enum PkgSelector { UNKNOWN, REGEX, TASK, FNMATCH, PACKAGENAME, STRING };
 	enum PkgSelector { UNKNOWN, REGEX, TASK, FNMATCH, PACKAGENAME, STRING };
 
 
@@ -203,6 +202,8 @@ protected:
 	bool PackageFromFnmatch(PackageContainerInterface * const pci, pkgCacheFile &Cache, std::string pattern);
 	bool PackageFromFnmatch(PackageContainerInterface * const pci, pkgCacheFile &Cache, std::string pattern);
 	bool PackageFromPackageName(PackageContainerInterface * const pci, pkgCacheFile &Cache, std::string pattern);
 	bool PackageFromPackageName(PackageContainerInterface * const pci, pkgCacheFile &Cache, std::string pattern);
 	bool PackageFromString(PackageContainerInterface * const pci, pkgCacheFile &Cache, std::string const &pattern);
 	bool PackageFromString(PackageContainerInterface * const pci, pkgCacheFile &Cache, std::string const &pattern);
+private:
+	void *d;
 };									/*}}}*/
 };									/*}}}*/
 
 
 class PackageContainerInterface {					/*{{{*/
 class PackageContainerInterface {					/*{{{*/
@@ -263,8 +264,9 @@ APT_IGNORE_DEPRECATED_POP
 
 
 	void setConstructor(CacheSetHelper::PkgSelector const by) { ConstructedBy = by; }
 	void setConstructor(CacheSetHelper::PkgSelector const by) { ConstructedBy = by; }
 	CacheSetHelper::PkgSelector getConstructor() const { return ConstructedBy; }
 	CacheSetHelper::PkgSelector getConstructor() const { return ConstructedBy; }
-	PackageContainerInterface() : ConstructedBy(CacheSetHelper::UNKNOWN) {}
-	PackageContainerInterface(CacheSetHelper::PkgSelector const by) : ConstructedBy(by) {}
+	PackageContainerInterface();
+	PackageContainerInterface(CacheSetHelper::PkgSelector const by);
+	virtual ~PackageContainerInterface();
 
 
 	APT_DEPRECATED static bool FromTask(PackageContainerInterface * const pci, pkgCacheFile &Cache, std::string pattern, CacheSetHelper &helper) {
 	APT_DEPRECATED static bool FromTask(PackageContainerInterface * const pci, pkgCacheFile &Cache, std::string pattern, CacheSetHelper &helper) {
 	   return helper.PackageFrom(CacheSetHelper::TASK, pci, Cache, pattern); }
 	   return helper.PackageFrom(CacheSetHelper::TASK, pci, Cache, pattern); }
@@ -292,6 +294,7 @@ APT_IGNORE_DEPRECATED_POP
 
 
 private:
 private:
 	CacheSetHelper::PkgSelector ConstructedBy;
 	CacheSetHelper::PkgSelector ConstructedBy;
+	void *d;
 };
 };
 									/*}}}*/
 									/*}}}*/
 template<class Container> class PackageContainer : public PackageContainerInterface {/*{{{*/
 template<class Container> class PackageContainer : public PackageContainerInterface {/*{{{*/
@@ -355,7 +358,7 @@ public:									/*{{{*/
 	iterator end() { return iterator(_cont.end()); }
 	iterator end() { return iterator(_cont.end()); }
 	const_iterator find(pkgCache::PkgIterator const &P) const { return const_iterator(_cont.find(P)); }
 	const_iterator find(pkgCache::PkgIterator const &P) const { return const_iterator(_cont.find(P)); }
 
 
-	PackageContainer() : PackageContainerInterface() {}
+	PackageContainer() : PackageContainerInterface(CacheSetHelper::UNKNOWN) {}
 	PackageContainer(CacheSetHelper::PkgSelector const &by) : PackageContainerInterface(by) {}
 	PackageContainer(CacheSetHelper::PkgSelector const &by) : PackageContainerInterface(by) {}
 APT_IGNORE_DEPRECATED_PUSH
 APT_IGNORE_DEPRECATED_PUSH
 	APT_DEPRECATED PackageContainer(Constructor const &by) : PackageContainerInterface((CacheSetHelper::PkgSelector)by) {}
 	APT_DEPRECATED PackageContainer(Constructor const &by) : PackageContainerInterface((CacheSetHelper::PkgSelector)by) {}
@@ -552,6 +555,7 @@ template<> template<class Compare> inline bool PackageContainer<std::vector<pkgC
     private methods. */
     private methods. */
 class APT_HIDDEN PackageUniverse : public PackageContainerInterface {
 class APT_HIDDEN PackageUniverse : public PackageContainerInterface {
 	pkgCache * const _cont;
 	pkgCache * const _cont;
+	void *d;
 public:
 public:
 	typedef pkgCache::PkgIterator iterator;
 	typedef pkgCache::PkgIterator iterator;
 	typedef pkgCache::PkgIterator const_iterator;
 	typedef pkgCache::PkgIterator const_iterator;
@@ -564,7 +568,8 @@ public:
 	APT_PUBLIC iterator begin() { return _cont->PkgBegin(); }
 	APT_PUBLIC iterator begin() { return _cont->PkgBegin(); }
 	APT_PUBLIC iterator end() { return _cont->PkgEnd(); }
 	APT_PUBLIC iterator end() { return _cont->PkgEnd(); }
 
 
-	APT_PUBLIC PackageUniverse(pkgCache * const Owner) : _cont(Owner) { }
+	APT_PUBLIC PackageUniverse(pkgCache * const Owner);
+	APT_PUBLIC virtual ~PackageUniverse();
 
 
 private:
 private:
 	bool insert(pkgCache::PkgIterator const &) { return true; }
 	bool insert(pkgCache::PkgIterator const &) { return true; }
@@ -701,6 +706,11 @@ APT_IGNORE_DEPRECATED_PUSH
 	}
 	}
 APT_IGNORE_DEPRECATED_POP
 APT_IGNORE_DEPRECATED_POP
 
 
+	VersionContainerInterface();
+	virtual ~VersionContainerInterface();
+private:
+	void *d;
+
 protected:								/*{{{*/
 protected:								/*{{{*/
 
 
 	/** \brief returns the candidate version of the package
 	/** \brief returns the candidate version of the package

+ 6 - 0
apt-pkg/cdrom.cc

@@ -1022,3 +1022,9 @@ pkgUdevCdromDevices::~pkgUdevCdromDevices()                             /*{{{*/
       dlclose(libudev_handle);
       dlclose(libudev_handle);
 }
 }
 									/*}}}*/
 									/*}}}*/
+
+pkgCdromStatus::pkgCdromStatus() : totalSteps(0) {}
+pkgCdromStatus::~pkgCdromStatus() {}
+
+pkgCdrom::pkgCdrom() {}
+pkgCdrom::~pkgCdrom() {}

+ 9 - 2
apt-pkg/cdrom.h

@@ -18,12 +18,13 @@ class OpProgress;
 
 
 class pkgCdromStatus							/*{{{*/
 class pkgCdromStatus							/*{{{*/
 {
 {
+   void *d;
  protected:
  protected:
    int totalSteps;
    int totalSteps;
 
 
  public:
  public:
-   pkgCdromStatus() : totalSteps(0) {};
-   virtual ~pkgCdromStatus() {};
+   pkgCdromStatus();
+   virtual ~pkgCdromStatus();
 
 
    // total steps
    // total steps
    virtual void SetTotal(int total) { totalSteps = total; };
    virtual void SetTotal(int total) { totalSteps = total; };
@@ -74,7 +75,12 @@ class pkgCdrom								/*{{{*/
    bool Ident(std::string &ident, pkgCdromStatus *log);
    bool Ident(std::string &ident, pkgCdromStatus *log);
    bool Add(pkgCdromStatus *log);
    bool Add(pkgCdromStatus *log);
 
 
+   pkgCdrom();
+   virtual ~pkgCdrom();
+
  private:
  private:
+   void *d;
+
    APT_HIDDEN bool MountAndIdentCDROM(Configuration &Database, std::string &CDROM,
    APT_HIDDEN bool MountAndIdentCDROM(Configuration &Database, std::string &CDROM,
 	 std::string &ident, pkgCdromStatus * const log, bool const interactive);
 	 std::string &ident, pkgCdromStatus * const log, bool const interactive);
    APT_HIDDEN bool UnmountCDROM(std::string const &CDROM, pkgCdromStatus * const log);
    APT_HIDDEN bool UnmountCDROM(std::string const &CDROM, pkgCdromStatus * const log);
@@ -92,6 +98,7 @@ struct CdromDevice							/*{{{*/
 									/*}}}*/
 									/*}}}*/
 class pkgUdevCdromDevices						/*{{{*/
 class pkgUdevCdromDevices						/*{{{*/
 {
 {
+   void *d;
  protected:
  protected:
    // libudev dlopen structure
    // libudev dlopen structure
    void *libudev_handle;
    void *libudev_handle;

+ 1 - 0
apt-pkg/clean.cc

@@ -132,4 +132,5 @@ bool pkgArchiveCleaner::Go(std::string Dir,pkgCache &Cache)
 }
 }
 									/*}}}*/
 									/*}}}*/
 
 
+pkgArchiveCleaner::pkgArchiveCleaner() {}
 APT_CONST pkgArchiveCleaner::~pkgArchiveCleaner() {}
 APT_CONST pkgArchiveCleaner::~pkgArchiveCleaner() {}

+ 2 - 0
apt-pkg/clean.h

@@ -30,6 +30,8 @@ class pkgArchiveCleaner
    public:
    public:
 
 
    bool Go(std::string Dir,pkgCache &Cache);
    bool Go(std::string Dir,pkgCache &Cache);
+
+   pkgArchiveCleaner();
    virtual ~pkgArchiveCleaner();
    virtual ~pkgArchiveCleaner();
 };
 };
 
 

+ 1 - 0
apt-pkg/deb/debindexfile.cc

@@ -576,3 +576,4 @@ debTranslationsIndex::~debTranslationsIndex() {}
 debSourcesIndex::~debSourcesIndex() {}
 debSourcesIndex::~debSourcesIndex() {}
 
 
 debDebPkgFileIndex::~debDebPkgFileIndex() {}
 debDebPkgFileIndex::~debDebPkgFileIndex() {}
+debDscFileIndex::~debDscFileIndex() {}

+ 6 - 2
apt-pkg/deb/debindexfile.h

@@ -1,6 +1,5 @@
 // -*- mode: cpp; mode: fold -*-
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
 // Description								/*{{{*/
-// $Id: debindexfile.h,v 1.3.2.1 2003/12/24 23:09:17 mdz Exp $
 /* ######################################################################
 /* ######################################################################
 
 
    Debian Index Files
    Debian Index Files
@@ -30,6 +29,7 @@ class pkgCacheGenerator;
 
 
 class APT_HIDDEN debStatusIndex : public pkgIndexFile
 class APT_HIDDEN debStatusIndex : public pkgIndexFile
 {
 {
+   void *d;
    protected:
    protected:
    std::string File;
    std::string File;
 
 
@@ -53,6 +53,7 @@ class APT_HIDDEN debStatusIndex : public pkgIndexFile
 
 
 class APT_HIDDEN debPackagesIndex : public pkgIndexTargetFile
 class APT_HIDDEN debPackagesIndex : public pkgIndexTargetFile
 {
 {
+   void *d;
    public:
    public:
 
 
    virtual const Type *GetType() const APT_CONST;
    virtual const Type *GetType() const APT_CONST;
@@ -71,6 +72,7 @@ class APT_HIDDEN debPackagesIndex : public pkgIndexTargetFile
 
 
 class APT_HIDDEN debTranslationsIndex : public pkgIndexTargetFile
 class APT_HIDDEN debTranslationsIndex : public pkgIndexTargetFile
 {
 {
+   void *d;
    public:
    public:
 
 
    virtual const Type *GetType() const APT_CONST;
    virtual const Type *GetType() const APT_CONST;
@@ -86,6 +88,7 @@ class APT_HIDDEN debTranslationsIndex : public pkgIndexTargetFile
 
 
 class APT_HIDDEN debSourcesIndex : public pkgIndexTargetFile
 class APT_HIDDEN debSourcesIndex : public pkgIndexTargetFile
 {
 {
+   void *d;
    public:
    public:
 
 
    virtual const Type *GetType() const APT_CONST;
    virtual const Type *GetType() const APT_CONST;
@@ -145,6 +148,7 @@ class APT_HIDDEN debDebPkgFileIndex : public pkgIndexFile
 class APT_HIDDEN debDscFileIndex : public pkgIndexFile
 class APT_HIDDEN debDscFileIndex : public pkgIndexFile
 {
 {
  private:
  private:
+   void *d;
    std::string DscFile;
    std::string DscFile;
  public:
  public:
    virtual const Type *GetType() const APT_CONST;
    virtual const Type *GetType() const APT_CONST;
@@ -157,7 +161,7 @@ class APT_HIDDEN debDscFileIndex : public pkgIndexFile
    };
    };
 
 
    debDscFileIndex(std::string &DscFile);
    debDscFileIndex(std::string &DscFile);
-   virtual ~debDscFileIndex() {};
+   virtual ~debDscFileIndex();
 };
 };
 
 
 class APT_HIDDEN debDebianSourceDirIndex : public debDscFileIndex
 class APT_HIDDEN debDebianSourceDirIndex : public debDscFileIndex

+ 2 - 0
apt-pkg/deb/debmetaindex.cc

@@ -459,6 +459,8 @@ pkgCache::RlsFileIterator debReleaseIndex::FindInCache(pkgCache &Cache, bool con
 }
 }
 									/*}}}*/
 									/*}}}*/
 
 
+debDebFileMetaIndex::~debDebFileMetaIndex() {}
+
 class APT_HIDDEN debSLTypeDebian : public pkgSourceList::Type
 class APT_HIDDEN debSLTypeDebian : public pkgSourceList::Type
 {
 {
    protected:
    protected:

+ 2 - 1
apt-pkg/deb/debmetaindex.h

@@ -75,6 +75,7 @@ class APT_HIDDEN debReleaseIndex : public metaIndex {
 class APT_HIDDEN debDebFileMetaIndex : public metaIndex
 class APT_HIDDEN debDebFileMetaIndex : public metaIndex
 {
 {
  private:
  private:
+    void *d;
    std::string DebFile;
    std::string DebFile;
    debDebPkgFileIndex *DebIndex;
    debDebPkgFileIndex *DebIndex;
  public:
  public:
@@ -94,7 +95,7 @@ class APT_HIDDEN debDebFileMetaIndex : public metaIndex
       return true;
       return true;
    }
    }
    debDebFileMetaIndex(std::string const &DebFile);
    debDebFileMetaIndex(std::string const &DebFile);
-   virtual ~debDebFileMetaIndex() {};
+   virtual ~debDebFileMetaIndex();
 
 
 };
 };
 
 

+ 7 - 0
apt-pkg/deb/debrecords.cc

@@ -51,6 +51,7 @@ bool debRecordParser::Jump(pkgCache::DescFileIterator const &Desc)
 									/*}}}*/
 									/*}}}*/
 debRecordParser::~debRecordParser() {}
 debRecordParser::~debRecordParser() {}
 
 
+debRecordParserBase::debRecordParserBase() : Parser() {}
 // RecordParserBase::FileName - Return the archive filename on the site	/*{{{*/
 // RecordParserBase::FileName - Return the archive filename on the site	/*{{{*/
 string debRecordParserBase::FileName()
 string debRecordParserBase::FileName()
 {
 {
@@ -207,3 +208,9 @@ bool debDebFileRecordParser::LoadContent()
       return _error->Error(_("Unable to parse package file %s (%d)"), debFileName.c_str(), 3);
       return _error->Error(_("Unable to parse package file %s (%d)"), debFileName.c_str(), 3);
    return true;
    return true;
 }
 }
+bool debDebFileRecordParser::Jump(pkgCache::VerFileIterator const &) { return LoadContent(); }
+bool debDebFileRecordParser::Jump(pkgCache::DescFileIterator const &) { return LoadContent(); }
+std::string debDebFileRecordParser::FileName() { return debFileName; }
+
+debDebFileRecordParser::debDebFileRecordParser(std::string FileName) : debRecordParserBase(), debFileName(FileName) {}
+debDebFileRecordParser::~debDebFileRecordParser() {}

+ 9 - 6
apt-pkg/deb/debrecords.h

@@ -27,6 +27,7 @@
 
 
 class APT_HIDDEN debRecordParserBase : public pkgRecords::Parser
 class APT_HIDDEN debRecordParserBase : public pkgRecords::Parser
 {
 {
+   void *d;
  protected:
  protected:
    pkgTagSection Section;
    pkgTagSection Section;
 
 
@@ -50,12 +51,13 @@ class APT_HIDDEN debRecordParserBase : public pkgRecords::Parser
 
 
    virtual void GetRec(const char *&Start,const char *&Stop);
    virtual void GetRec(const char *&Start,const char *&Stop);
 
 
-   debRecordParserBase() : Parser() {}
+   debRecordParserBase();
    virtual ~debRecordParserBase();
    virtual ~debRecordParserBase();
 };
 };
 
 
 class APT_HIDDEN debRecordParser : public debRecordParserBase
 class APT_HIDDEN debRecordParser : public debRecordParserBase
 {
 {
+   void *d;
  protected:
  protected:
    FileFd File;
    FileFd File;
    pkgTagFile Tags;
    pkgTagFile Tags;
@@ -71,20 +73,21 @@ class APT_HIDDEN debRecordParser : public debRecordParserBase
 // custom record parser that reads deb files directly
 // custom record parser that reads deb files directly
 class APT_HIDDEN debDebFileRecordParser : public debRecordParserBase
 class APT_HIDDEN debDebFileRecordParser : public debRecordParserBase
 {
 {
+   void *d;
    std::string debFileName;
    std::string debFileName;
    std::string controlContent;
    std::string controlContent;
 
 
    APT_HIDDEN bool LoadContent();
    APT_HIDDEN bool LoadContent();
  protected:
  protected:
    // single file files, so no jumping whatsoever
    // single file files, so no jumping whatsoever
-   bool Jump(pkgCache::VerFileIterator const &) { return LoadContent(); }
-   bool Jump(pkgCache::DescFileIterator const &) { return LoadContent(); }
+   bool Jump(pkgCache::VerFileIterator const &);
+   bool Jump(pkgCache::DescFileIterator const &);
 
 
  public:
  public:
-   virtual std::string FileName() { return debFileName; }
+   virtual std::string FileName();
 
 
-   debDebFileRecordParser(std::string FileName)
-      : debRecordParserBase(), debFileName(FileName) {};
+   debDebFileRecordParser(std::string FileName);
+   virtual ~debDebFileRecordParser();
 };
 };
 
 
 #endif
 #endif

+ 4 - 0
apt-pkg/deb/debsrcrecords.cc

@@ -32,6 +32,10 @@
 using std::max;
 using std::max;
 using std::string;
 using std::string;
 
 
+debSrcRecordParser::debSrcRecordParser(std::string const &File,pkgIndexFile const *Index)
+   : Parser(Index), Fd(File,FileFd::ReadOnly, FileFd::Extension), Tags(&Fd,102400),
+   iOffset(0), Buffer(NULL) {}
+
 // SrcRecordParser::Binaries - Return the binaries field		/*{{{*/
 // SrcRecordParser::Binaries - Return the binaries field		/*{{{*/
 // ---------------------------------------------------------------------
 // ---------------------------------------------------------------------
 /* This member parses the binaries field into a pair of class arrays and
 /* This member parses the binaries field into a pair of class arrays and

+ 1 - 3
apt-pkg/deb/debsrcrecords.h

@@ -56,9 +56,7 @@ class APT_HIDDEN debSrcRecordParser : public pkgSrcRecords::Parser
    virtual bool Files(std::vector<pkgSrcRecords::File> &F);
    virtual bool Files(std::vector<pkgSrcRecords::File> &F);
    bool Files2(std::vector<pkgSrcRecords::File2> &F);
    bool Files2(std::vector<pkgSrcRecords::File2> &F);
 
 
-   debSrcRecordParser(std::string const &File,pkgIndexFile const *Index) 
-      : Parser(Index), Fd(File,FileFd::ReadOnly, FileFd::Extension), Tags(&Fd,102400),
-        iOffset(0), Buffer(NULL) {}
+   debSrcRecordParser(std::string const &File,pkgIndexFile const *Index);
    virtual ~debSrcRecordParser();
    virtual ~debSrcRecordParser();
 };
 };
 
 

+ 0 - 1
apt-pkg/deb/debversion.h

@@ -1,6 +1,5 @@
 // -*- mode: cpp; mode: fold -*-
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
 // Description								/*{{{*/
-// $Id: debversion.h,v 1.3 2001/05/03 05:25:04 jgg Exp $
 /* ######################################################################
 /* ######################################################################
 
 
    Debian Version - Versioning system for Debian
    Debian Version - Versioning system for Debian

+ 4 - 2
apt-pkg/depcache.h

@@ -1,6 +1,5 @@
 // -*- mode: c++; mode: fold -*-
 // -*- mode: c++; mode: fold -*-
 // Description								/*{{{*/
 // Description								/*{{{*/
-// $Id: depcache.h,v 1.14 2001/02/20 07:03:17 jgg Exp $
 /* ######################################################################
 /* ######################################################################
 
 
    DepCache - Dependency Extension data for the cache
    DepCache - Dependency Extension data for the cache
@@ -164,6 +163,7 @@ class pkgDepCache : protected pkgCache::Namespace
     */
     */
    class ActionGroup
    class ActionGroup
    {
    {
+       void *d;
        pkgDepCache &cache;
        pkgDepCache &cache;
 
 
        bool released;
        bool released;
@@ -192,7 +192,7 @@ class pkgDepCache : protected pkgCache::Namespace
 	*  If this is the last action group, the automatic cache
 	*  If this is the last action group, the automatic cache
 	*  cleanup operations will be undertaken.
 	*  cleanup operations will be undertaken.
 	*/
 	*/
-       ~ActionGroup();
+       virtual ~ActionGroup();
    };
    };
 
 
    /** \brief Returns \b true for packages matching a regular
    /** \brief Returns \b true for packages matching a regular
@@ -503,6 +503,8 @@ class pkgDepCache : protected pkgCache::Namespace
 	 bool const rPurge, unsigned long const Depth, bool const FromUser);
 	 bool const rPurge, unsigned long const Depth, bool const FromUser);
 
 
    private:
    private:
+   void *d;
+
    APT_HIDDEN bool IsModeChangeOk(ModeList const mode, PkgIterator const &Pkg,
    APT_HIDDEN bool IsModeChangeOk(ModeList const mode, PkgIterator const &Pkg,
 			unsigned long const Depth, bool const FromUser);
 			unsigned long const Depth, bool const FromUser);
 };
 };

+ 62 - 61
apt-pkg/edsp.cc

@@ -39,60 +39,15 @@
 using std::string;
 using std::string;
 
 
 // we could use pkgCache::DepType and ::Priority, but these would be localized strings…
 // we could use pkgCache::DepType and ::Priority, but these would be localized strings…
-const char * const EDSP::PrioMap[] = {0, "important", "required", "standard",
+const char * const PrioMap[] = {0, "important", "required", "standard",
 				      "optional", "extra"};
 				      "optional", "extra"};
-const char * const EDSP::DepMap[] = {"", "Depends", "Pre-Depends", "Suggests",
+const char * const DepMap[] = {"", "Depends", "Pre-Depends", "Suggests",
 				     "Recommends" , "Conflicts", "Replaces",
 				     "Recommends" , "Conflicts", "Replaces",
 				     "Obsoletes", "Breaks", "Enhances"};
 				     "Obsoletes", "Breaks", "Enhances"};
 
 
-// EDSP::WriteScenario - to the given file descriptor			/*{{{*/
-bool EDSP::WriteScenario(pkgDepCache &Cache, FILE* output, OpProgress *Progress)
-{
-   if (Progress != NULL)
-      Progress->SubProgress(Cache.Head().VersionCount, _("Send scenario to solver"));
-   unsigned long p = 0;
-   std::vector<std::string> archs = APT::Configuration::getArchitectures();
-   for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; ++Pkg)
-   {
-      std::string const arch = Pkg.Arch();
-      if (std::find(archs.begin(), archs.end(), arch) == archs.end())
-	 continue;
-      for (pkgCache::VerIterator Ver = Pkg.VersionList(); Ver.end() == false; ++Ver, ++p)
-      {
-	 WriteScenarioVersion(Cache, output, Pkg, Ver);
-	 WriteScenarioDependency(output, Ver);
-	 fprintf(output, "\n");
-	 if (Progress != NULL && p % 100 == 0)
-	    Progress->Progress(p);
-      }
-   }
-   return true;
-}
-									/*}}}*/
-// EDSP::WriteLimitedScenario - to the given file descriptor		/*{{{*/
-bool EDSP::WriteLimitedScenario(pkgDepCache &Cache, FILE* output,
-				APT::PackageSet const &pkgset,
-				OpProgress *Progress)
-{
-   if (Progress != NULL)
-      Progress->SubProgress(Cache.Head().VersionCount, _("Send scenario to solver"));
-   unsigned long p  = 0;
-   for (APT::PackageSet::const_iterator Pkg = pkgset.begin(); Pkg != pkgset.end(); ++Pkg, ++p)
-      for (pkgCache::VerIterator Ver = Pkg.VersionList(); Ver.end() == false; ++Ver)
-      {
-	 WriteScenarioVersion(Cache, output, Pkg, Ver);
-	 WriteScenarioLimitedDependency(output, Ver, pkgset);
-	 fprintf(output, "\n");
-	 if (Progress != NULL && p % 100 == 0)
-	    Progress->Progress(p);
-      }
-   if (Progress != NULL)
-      Progress->Done();
-   return true;
-}
-									/*}}}*/
-// EDSP::WriteScenarioVersion						/*{{{*/
-void EDSP::WriteScenarioVersion(pkgDepCache &Cache, FILE* output, pkgCache::PkgIterator const &Pkg,
+
+// WriteScenarioVersion							/*{{{*/
+static void WriteScenarioVersion(pkgDepCache &Cache, FILE* output, pkgCache::PkgIterator const &Pkg,
 				pkgCache::VerIterator const &Ver)
 				pkgCache::VerIterator const &Ver)
 {
 {
    fprintf(output, "Package: %s\n", Pkg.Name());
    fprintf(output, "Package: %s\n", Pkg.Name());
@@ -147,8 +102,8 @@ void EDSP::WriteScenarioVersion(pkgDepCache &Cache, FILE* output, pkgCache::PkgI
       fprintf(output, "APT-Automatic: yes\n");
       fprintf(output, "APT-Automatic: yes\n");
 }
 }
 									/*}}}*/
 									/*}}}*/
-// EDSP::WriteScenarioDependency					/*{{{*/
-void EDSP::WriteScenarioDependency( FILE* output, pkgCache::VerIterator const &Ver)
+// WriteScenarioDependency						/*{{{*/
+static void WriteScenarioDependency( FILE* output, pkgCache::VerIterator const &Ver)
 {
 {
    std::string dependencies[pkgCache::Dep::Enhances + 1];
    std::string dependencies[pkgCache::Dep::Enhances + 1];
    bool orGroup = false;
    bool orGroup = false;
@@ -183,8 +138,8 @@ void EDSP::WriteScenarioDependency( FILE* output, pkgCache::VerIterator const &V
       fprintf(output, "Provides: %s\n", provides.c_str()+2);
       fprintf(output, "Provides: %s\n", provides.c_str()+2);
 }
 }
 									/*}}}*/
 									/*}}}*/
-// EDSP::WriteScenarioLimitedDependency					/*{{{*/
-void EDSP::WriteScenarioLimitedDependency(FILE* output,
+// WriteScenarioLimitedDependency					/*{{{*/
+static void WriteScenarioLimitedDependency(FILE* output,
 					  pkgCache::VerIterator const &Ver,
 					  pkgCache::VerIterator const &Ver,
 					  APT::PackageSet const &pkgset)
 					  APT::PackageSet const &pkgset)
 {
 {
@@ -235,6 +190,52 @@ void EDSP::WriteScenarioLimitedDependency(FILE* output,
       fprintf(output, "Provides: %s\n", provides.c_str()+2);
       fprintf(output, "Provides: %s\n", provides.c_str()+2);
 }
 }
 									/*}}}*/
 									/*}}}*/
+// EDSP::WriteScenario - to the given file descriptor			/*{{{*/
+bool EDSP::WriteScenario(pkgDepCache &Cache, FILE* output, OpProgress *Progress)
+{
+   if (Progress != NULL)
+      Progress->SubProgress(Cache.Head().VersionCount, _("Send scenario to solver"));
+   unsigned long p = 0;
+   std::vector<std::string> archs = APT::Configuration::getArchitectures();
+   for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; ++Pkg)
+   {
+      std::string const arch = Pkg.Arch();
+      if (std::find(archs.begin(), archs.end(), arch) == archs.end())
+	 continue;
+      for (pkgCache::VerIterator Ver = Pkg.VersionList(); Ver.end() == false; ++Ver, ++p)
+      {
+	 WriteScenarioVersion(Cache, output, Pkg, Ver);
+	 WriteScenarioDependency(output, Ver);
+	 fprintf(output, "\n");
+	 if (Progress != NULL && p % 100 == 0)
+	    Progress->Progress(p);
+      }
+   }
+   return true;
+}
+									/*}}}*/
+// EDSP::WriteLimitedScenario - to the given file descriptor		/*{{{*/
+bool EDSP::WriteLimitedScenario(pkgDepCache &Cache, FILE* output,
+				APT::PackageSet const &pkgset,
+				OpProgress *Progress)
+{
+   if (Progress != NULL)
+      Progress->SubProgress(Cache.Head().VersionCount, _("Send scenario to solver"));
+   unsigned long p  = 0;
+   for (APT::PackageSet::const_iterator Pkg = pkgset.begin(); Pkg != pkgset.end(); ++Pkg, ++p)
+      for (pkgCache::VerIterator Ver = Pkg.VersionList(); Ver.end() == false; ++Ver)
+      {
+	 WriteScenarioVersion(Cache, output, Pkg, Ver);
+	 WriteScenarioLimitedDependency(output, Ver, pkgset);
+	 fprintf(output, "\n");
+	 if (Progress != NULL && p % 100 == 0)
+	    Progress->Progress(p);
+      }
+   if (Progress != NULL)
+      Progress->Done();
+   return true;
+}
+									/*}}}*/
 // EDSP::WriteRequest - to the given file descriptor			/*{{{*/
 // EDSP::WriteRequest - to the given file descriptor			/*{{{*/
 bool EDSP::WriteRequest(pkgDepCache &Cache, FILE* output, bool const Upgrade,
 bool EDSP::WriteRequest(pkgDepCache &Cache, FILE* output, bool const Upgrade,
 			bool const DistUpgrade, bool const AutoRemove,
 			bool const DistUpgrade, bool const AutoRemove,
@@ -365,13 +366,13 @@ bool EDSP::ReadResponse(int const input, pkgDepCache &Cache, OpProgress *Progres
 	return true;
 	return true;
 }
 }
 									/*}}}*/
 									/*}}}*/
-// EDSP::ReadLine - first line from the given file descriptor		/*{{{*/
+// ReadLine - first line from the given file descriptor			/*{{{*/
 // ---------------------------------------------------------------------
 // ---------------------------------------------------------------------
 /* Little helper method to read a complete line into a string. Similar to
 /* Little helper method to read a complete line into a string. Similar to
    fgets but we need to use the low-level read() here as otherwise the
    fgets but we need to use the low-level read() here as otherwise the
    listparser will be confused later on as mixing of fgets and read isn't
    listparser will be confused later on as mixing of fgets and read isn't
    a supported action according to the manpages and results are undefined */
    a supported action according to the manpages and results are undefined */
-bool EDSP::ReadLine(int const input, std::string &line) {
+static bool ReadLine(int const input, std::string &line) {
 	char one;
 	char one;
 	ssize_t data = 0;
 	ssize_t data = 0;
 	line.erase();
 	line.erase();
@@ -390,11 +391,11 @@ bool EDSP::ReadLine(int const input, std::string &line) {
 	return false;
 	return false;
 }
 }
 									/*}}}*/
 									/*}}}*/
-// EDSP::StringToBool - convert yes/no to bool				/*{{{*/
+// StringToBool - convert yes/no to bool				/*{{{*/
 // ---------------------------------------------------------------------
 // ---------------------------------------------------------------------
 /* we are not as lazy as we are in the global StringToBool as we really
 /* we are not as lazy as we are in the global StringToBool as we really
    only accept yes/no here - but we will ignore leading spaces */
    only accept yes/no here - but we will ignore leading spaces */
-bool EDSP::StringToBool(char const *answer, bool const defValue) {
+static bool StringToBool(char const *answer, bool const defValue) {
    for (; isspace(*answer) != 0; ++answer);
    for (; isspace(*answer) != 0; ++answer);
    if (strncasecmp(answer, "yes", 3) == 0)
    if (strncasecmp(answer, "yes", 3) == 0)
       return true;
       return true;
@@ -443,11 +444,11 @@ bool EDSP::ReadRequest(int const input, std::list<std::string> &install,
 	    request = &remove;
 	    request = &remove;
 	 }
 	 }
 	 else if (line.compare(0, 8, "Upgrade:") == 0)
 	 else if (line.compare(0, 8, "Upgrade:") == 0)
-	    upgrade = EDSP::StringToBool(line.c_str() + 9, false);
+	    upgrade = StringToBool(line.c_str() + 9, false);
 	 else if (line.compare(0, 13, "Dist-Upgrade:") == 0)
 	 else if (line.compare(0, 13, "Dist-Upgrade:") == 0)
-	    distUpgrade = EDSP::StringToBool(line.c_str() + 14, false);
+	    distUpgrade = StringToBool(line.c_str() + 14, false);
 	 else if (line.compare(0, 11, "Autoremove:") == 0)
 	 else if (line.compare(0, 11, "Autoremove:") == 0)
-	    autoRemove = EDSP::StringToBool(line.c_str() + 12, false);
+	    autoRemove = StringToBool(line.c_str() + 12, false);
 	 else if (line.compare(0, 13, "Architecture:") == 0)
 	 else if (line.compare(0, 13, "Architecture:") == 0)
 	    _config->Set("APT::Architecture", line.c_str() + 14);
 	    _config->Set("APT::Architecture", line.c_str() + 14);
 	 else if (line.compare(0, 14, "Architectures:") == 0)
 	 else if (line.compare(0, 14, "Architectures:") == 0)

+ 13 - 29
apt-pkg/edsp.h

@@ -27,24 +27,8 @@
 class pkgDepCache;
 class pkgDepCache;
 class OpProgress;
 class OpProgress;
 
 
-class EDSP								/*{{{*/
+namespace EDSP								/*{{{*/
 {
 {
-	// we could use pkgCache::DepType and ::Priority, but these would be localized strings…
-	static const char * const PrioMap[];
-	static const char * const DepMap[];
-
-	APT_HIDDEN bool static ReadLine(int const input, std::string &line);
-	APT_HIDDEN bool static StringToBool(char const *answer, bool const defValue);
-
-	APT_HIDDEN void static WriteScenarioVersion(pkgDepCache &Cache, FILE* output,
-					 pkgCache::PkgIterator const &Pkg,
-					 pkgCache::VerIterator const &Ver);
-	APT_HIDDEN void static WriteScenarioDependency(FILE* output,
-					    pkgCache::VerIterator const &Ver);
-	APT_HIDDEN void static WriteScenarioLimitedDependency(FILE* output,
-						   pkgCache::VerIterator const &Ver,
-						   APT::PackageSet const &pkgset);
-public:
 	/** \brief creates the EDSP request stanza
 	/** \brief creates the EDSP request stanza
 	 *
 	 *
 	 *  In the EDSP protocol the first thing send to the resolver is a stanza
 	 *  In the EDSP protocol the first thing send to the resolver is a stanza
@@ -61,7 +45,7 @@ public:
 	 *
 	 *
 	 *  \return true if request was composed successfully, otherwise false
 	 *  \return true if request was composed successfully, otherwise false
 	 */
 	 */
-	bool static WriteRequest(pkgDepCache &Cache, FILE* output,
+	bool WriteRequest(pkgDepCache &Cache, FILE* output,
 				 bool const upgrade = false,
 				 bool const upgrade = false,
 				 bool const distUpgrade = false,
 				 bool const distUpgrade = false,
 				 bool const autoRemove = false,
 				 bool const autoRemove = false,
@@ -84,7 +68,7 @@ public:
 	 *
 	 *
 	 *  \return true if universe was composed successfully, otherwise false
 	 *  \return true if universe was composed successfully, otherwise false
 	 */
 	 */
-	bool static WriteScenario(pkgDepCache &Cache, FILE* output, OpProgress *Progress = NULL);
+	bool WriteScenario(pkgDepCache &Cache, FILE* output, OpProgress *Progress = NULL);
 
 
 	/** \brief creates a limited scenario representing the package universe
 	/** \brief creates a limited scenario representing the package universe
 	 *
 	 *
@@ -101,7 +85,7 @@ public:
 	 *
 	 *
 	 *  \return true if universe was composed successfully, otherwise false
 	 *  \return true if universe was composed successfully, otherwise false
 	 */
 	 */
-	bool static WriteLimitedScenario(pkgDepCache &Cache, FILE* output,
+	bool WriteLimitedScenario(pkgDepCache &Cache, FILE* output,
 					 APT::PackageSet const &pkgset,
 					 APT::PackageSet const &pkgset,
 					 OpProgress *Progress = NULL);
 					 OpProgress *Progress = NULL);
 
 
@@ -118,7 +102,7 @@ public:
 	 *
 	 *
 	 *  \return true if a solution is found and applied correctly, otherwise false
 	 *  \return true if a solution is found and applied correctly, otherwise false
 	 */
 	 */
-	bool static ReadResponse(int const input, pkgDepCache &Cache, OpProgress *Progress = NULL);
+	bool ReadResponse(int const input, pkgDepCache &Cache, OpProgress *Progress = NULL);
 
 
 	/** \brief search and read the request stanza for action later
 	/** \brief search and read the request stanza for action later
 	 *
 	 *
@@ -136,7 +120,7 @@ public:
 	 *
 	 *
 	 *  \return true if the request could be found and worked on, otherwise false
 	 *  \return true if the request could be found and worked on, otherwise false
 	 */
 	 */
-	bool static ReadRequest(int const input, std::list<std::string> &install,
+	bool ReadRequest(int const input, std::list<std::string> &install,
 			std::list<std::string> &remove, bool &upgrade,
 			std::list<std::string> &remove, bool &upgrade,
 			bool &distUpgrade, bool &autoRemove);
 			bool &distUpgrade, bool &autoRemove);
 
 
@@ -152,7 +136,7 @@ public:
 	 *
 	 *
 	 *  \return false if the request couldn't be applied, true otherwise
 	 *  \return false if the request couldn't be applied, true otherwise
 	 */
 	 */
-	bool static ApplyRequest(std::list<std::string> const &install,
+	bool ApplyRequest(std::list<std::string> const &install,
 				 std::list<std::string> const &remove,
 				 std::list<std::string> const &remove,
 				 pkgDepCache &Cache);
 				 pkgDepCache &Cache);
 
 
@@ -168,7 +152,7 @@ public:
 	 *
 	 *
 	 *  \return true if solution could be written, otherwise false
 	 *  \return true if solution could be written, otherwise false
 	 */
 	 */
-	bool static WriteSolution(pkgDepCache &Cache, FILE* output);
+	bool WriteSolution(pkgDepCache &Cache, FILE* output);
 
 
 	/** \brief sends a progress report
 	/** \brief sends a progress report
 	 *
 	 *
@@ -176,7 +160,7 @@ public:
 	 *  \param message the solver wants the user to see
 	 *  \param message the solver wants the user to see
 	 *  \param output the front-end listens for progress report
 	 *  \param output the front-end listens for progress report
 	 */
 	 */
-	bool static WriteProgress(unsigned short const percent, const char* const message, FILE* output);
+	bool WriteProgress(unsigned short const percent, const char* const message, FILE* output);
 
 
 	/** \brief sends an error report
 	/** \brief sends an error report
 	 *
 	 *
@@ -193,7 +177,7 @@ public:
 	 *  \param message is free form text to describe the error
 	 *  \param message is free form text to describe the error
 	 *  \param output the front-end listens for error messages
 	 *  \param output the front-end listens for error messages
 	 */
 	 */
-	bool static WriteError(char const * const uuid, std::string const &message, FILE* output);
+	bool WriteError(char const * const uuid, std::string const &message, FILE* output);
 
 
 
 
 	/** \brief executes the given solver and returns the pipe ends
 	/** \brief executes the given solver and returns the pipe ends
@@ -207,8 +191,8 @@ public:
 	 *
 	 *
 	 *  \return PID of the started solver or 0 if failure occurred
 	 *  \return PID of the started solver or 0 if failure occurred
 	 */
 	 */
-	pid_t static ExecuteSolver(const char* const solver, int * const solver_in, int * const solver_out, bool /*overload*/);
-	APT_DEPRECATED bool static ExecuteSolver(const char* const solver, int *solver_in, int *solver_out);
+	pid_t ExecuteSolver(const char* const solver, int * const solver_in, int * const solver_out, bool /*overload*/);
+	APT_DEPRECATED bool ExecuteSolver(const char* const solver, int *solver_in, int *solver_out);
 
 
 	/** \brief call an external resolver to handle the request
 	/** \brief call an external resolver to handle the request
 	 *
 	 *
@@ -224,7 +208,7 @@ public:
 	 *  \return true if the solver has successfully solved the problem,
 	 *  \return true if the solver has successfully solved the problem,
 	 *  otherwise false
 	 *  otherwise false
 	 */
 	 */
-	bool static ResolveExternal(const char* const solver, pkgDepCache &Cache,
+	bool ResolveExternal(const char* const solver, pkgDepCache &Cache,
 				    bool const upgrade, bool const distUpgrade,
 				    bool const upgrade, bool const distUpgrade,
 				    bool const autoRemove, OpProgress *Progress = NULL);
 				    bool const autoRemove, OpProgress *Progress = NULL);
 };
 };

+ 2 - 0
apt-pkg/edsp/edspindexfile.cc

@@ -81,3 +81,5 @@ const pkgIndexFile::Type *edspIndex::GetType() const
    return &_apt_Universe;
    return &_apt_Universe;
 }
 }
 									/*}}}*/
 									/*}}}*/
+
+edspIndex::~edspIndex() {}

+ 1 - 0
apt-pkg/edsp/edspindexfile.h

@@ -30,6 +30,7 @@ class APT_HIDDEN edspIndex : public debStatusIndex
    virtual bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const;
    virtual bool Merge(pkgCacheGenerator &Gen,OpProgress *Prog) const;
 
 
    edspIndex(std::string File);
    edspIndex(std::string File);
+   virtual ~edspIndex();
 };
 };
 
 
 #endif
 #endif

+ 2 - 0
apt-pkg/edsp/edsplistparser.cc

@@ -92,3 +92,5 @@ APT_CONST bool edspListParser::LoadReleaseInfo(pkgCache::RlsFileIterator & /*Fil
    return true;
    return true;
 }
 }
 									/*}}}*/
 									/*}}}*/
+
+edspListParser::~edspListParser() {}

+ 2 - 0
apt-pkg/edsp/edsplistparser.h

@@ -27,6 +27,7 @@ class FileFd;
 
 
 class APT_HIDDEN edspListParser : public debListParser
 class APT_HIDDEN edspListParser : public debListParser
 {
 {
+   void *d;
    public:
    public:
    virtual bool NewVersion(pkgCache::VerIterator &Ver);
    virtual bool NewVersion(pkgCache::VerIterator &Ver);
    virtual std::string Description();
    virtual std::string Description();
@@ -38,6 +39,7 @@ class APT_HIDDEN edspListParser : public debListParser
 			std::string const &section);
 			std::string const &section);
 
 
    edspListParser(FileFd *File, std::string const &Arch = "");
    edspListParser(FileFd *File, std::string const &Arch = "");
+   virtual ~edspListParser();
 
 
    protected:
    protected:
    virtual bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver);
    virtual bool ParseStatus(pkgCache::PkgIterator &Pkg,pkgCache::VerIterator &Ver);

+ 1 - 1
apt-pkg/edsp/edspsystem.h

@@ -42,7 +42,7 @@ class APT_HIDDEN edspSystem : public pkgSystem
 			  pkgIndexFile *&Found) const;
 			  pkgIndexFile *&Found) const;
 
 
    edspSystem();
    edspSystem();
-   ~edspSystem();
+   virtual ~edspSystem();
 };
 };
 
 
 #endif
 #endif

+ 10 - 0
apt-pkg/indexcopy.cc

@@ -770,4 +770,14 @@ bool TranslationsCopy::CopyTranslations(string CDROM,string Name,	/*{{{*/
 }
 }
 									/*}}}*/
 									/*}}}*/
 
 
+IndexCopy::IndexCopy() {}
 APT_CONST IndexCopy::~IndexCopy() {}
 APT_CONST IndexCopy::~IndexCopy() {}
+
+PackageCopy::PackageCopy() : IndexCopy() {}
+APT_CONST PackageCopy::~PackageCopy() {}
+SourceCopy::SourceCopy() : IndexCopy() {}
+APT_CONST SourceCopy::~SourceCopy() {}
+TranslationsCopy::TranslationsCopy() {}
+APT_CONST TranslationsCopy::~TranslationsCopy() {}
+SigVerify::SigVerify() {}
+APT_CONST SigVerify::~SigVerify() {}

+ 19 - 4
apt-pkg/indexcopy.h

@@ -1,6 +1,5 @@
 // -*- mode: cpp; mode: fold -*-
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
 // Description								/*{{{*/
-// $Id: indexcopy.h,v 1.3 2001/05/27 04:46:54 jgg Exp $
 /* ######################################################################
 /* ######################################################################
 
 
    Index Copying - Aid for copying and verifying the index files
    Index Copying - Aid for copying and verifying the index files
@@ -54,39 +53,52 @@ class IndexCopy								/*{{{*/
 
 
    bool CopyPackages(std::string CDROM,std::string Name,std::vector<std::string> &List,
    bool CopyPackages(std::string CDROM,std::string Name,std::vector<std::string> &List,
 		     pkgCdromStatus *log);
 		     pkgCdromStatus *log);
+   IndexCopy();
    virtual ~IndexCopy();
    virtual ~IndexCopy();
 };
 };
 									/*}}}*/
 									/*}}}*/
 class PackageCopy : public IndexCopy					/*{{{*/
 class PackageCopy : public IndexCopy					/*{{{*/
 {
 {
+   void *d;
    protected:
    protected:
-   
+
    virtual bool GetFile(std::string &Filename,unsigned long long &Size);
    virtual bool GetFile(std::string &Filename,unsigned long long &Size);
    virtual bool RewriteEntry(FileFd &Target, std::string const &File);
    virtual bool RewriteEntry(FileFd &Target, std::string const &File);
    virtual const char *GetFileName() {return "Packages";};
    virtual const char *GetFileName() {return "Packages";};
    virtual const char *Type() {return "Package";};
    virtual const char *Type() {return "Package";};
-   
+
+   public:
+   PackageCopy();
+   virtual ~PackageCopy();
 };
 };
 									/*}}}*/
 									/*}}}*/
 class SourceCopy : public IndexCopy					/*{{{*/
 class SourceCopy : public IndexCopy					/*{{{*/
 {
 {
+   void *d;
    protected:
    protected:
    
    
    virtual bool GetFile(std::string &Filename,unsigned long long &Size);
    virtual bool GetFile(std::string &Filename,unsigned long long &Size);
    virtual bool RewriteEntry(FileFd &Target, std::string const &File);
    virtual bool RewriteEntry(FileFd &Target, std::string const &File);
    virtual const char *GetFileName() {return "Sources";};
    virtual const char *GetFileName() {return "Sources";};
    virtual const char *Type() {return "Source";};
    virtual const char *Type() {return "Source";};
-   
+
+   public:
+   SourceCopy();
+   virtual ~SourceCopy();
 };
 };
 									/*}}}*/
 									/*}}}*/
 class TranslationsCopy							/*{{{*/
 class TranslationsCopy							/*{{{*/
 {
 {
+   void *d;
    protected:
    protected:
    pkgTagSection *Section;
    pkgTagSection *Section;
 
 
    public:
    public:
    bool CopyTranslations(std::string CDROM,std::string Name,std::vector<std::string> &List,
    bool CopyTranslations(std::string CDROM,std::string Name,std::vector<std::string> &List,
 			 pkgCdromStatus *log);
 			 pkgCdromStatus *log);
+
+   TranslationsCopy();
+   virtual ~TranslationsCopy();
 };
 };
 									/*}}}*/
 									/*}}}*/
 class SigVerify								/*{{{*/
 class SigVerify								/*{{{*/
@@ -106,6 +118,9 @@ class SigVerify								/*{{{*/
 		       int const &statusfd, int fd[2]);
 		       int const &statusfd, int fd[2]);
    APT_DEPRECATED static bool RunGPGV(std::string const &File, std::string const &FileOut,
    APT_DEPRECATED static bool RunGPGV(std::string const &File, std::string const &FileOut,
 			      int const &statusfd = -1);
 			      int const &statusfd = -1);
+
+   SigVerify();
+   virtual ~SigVerify();
 };
 };
 									/*}}}*/
 									/*}}}*/
 
 

+ 3 - 0
apt-pkg/indexfile.cc

@@ -227,3 +227,6 @@ bool pkgIndexTargetFile::Exists() const					/*{{{*/
    return FileExists(IndexFileName());
    return FileExists(IndexFileName());
 }
 }
 									/*}}}*/
 									/*}}}*/
+
+APT_CONST pkgIndexFile::~pkgIndexFile() {}
+APT_CONST pkgIndexTargetFile::~pkgIndexTargetFile() {}

+ 4 - 2
apt-pkg/indexfile.h

@@ -1,6 +1,5 @@
 // -*- mode: cpp; mode: fold -*-
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
 // Description								/*{{{*/
-// $Id: indexfile.h,v 1.6.2.1 2003/12/24 23:09:17 mdz Exp $
 /* ######################################################################
 /* ######################################################################
 
 
    Index File - Abstraction for an index of archive/source file.
    Index File - Abstraction for an index of archive/source file.
@@ -90,6 +89,7 @@ class IndexTarget							/*{{{*/
 
 
 class pkgIndexFile
 class pkgIndexFile
 {
 {
+   void *d;
    protected:
    protected:
    bool Trusted;
    bool Trusted;
 
 
@@ -145,11 +145,12 @@ class pkgIndexFile
    bool IsTrusted() const { return Trusted; };
    bool IsTrusted() const { return Trusted; };
 
 
    pkgIndexFile(bool Trusted);
    pkgIndexFile(bool Trusted);
-   virtual ~pkgIndexFile() {};
+   virtual ~pkgIndexFile();
 };
 };
 
 
 class pkgIndexTargetFile : public pkgIndexFile
 class pkgIndexTargetFile : public pkgIndexFile
 {
 {
+   void *d;
 protected:
 protected:
    IndexTarget const Target;
    IndexTarget const Target;
 
 
@@ -162,6 +163,7 @@ public:
    virtual unsigned long Size() const;
    virtual unsigned long Size() const;
 
 
    pkgIndexTargetFile(IndexTarget const &Target, bool const Trusted);
    pkgIndexTargetFile(IndexTarget const &Target, bool const Trusted);
+   virtual ~pkgIndexTargetFile();
 };
 };
 
 
 #endif
 #endif

+ 0 - 3
apt-pkg/indexrecords.h

@@ -1,7 +1,4 @@
 // -*- mode: cpp; mode: fold -*-
 // -*- mode: cpp; mode: fold -*-
-// Description								/*{{{*/
-// $Id: indexrecords.h,v 1.1.2.1 2003/12/24 23:09:17 mdz Exp $
-									/*}}}*/
 #ifndef PKGLIB_INDEXRECORDS_H
 #ifndef PKGLIB_INDEXRECORDS_H
 #define PKGLIB_INDEXRECORDS_H
 #define PKGLIB_INDEXRECORDS_H
 
 

+ 6 - 0
apt-pkg/install-progress.cc

@@ -69,6 +69,7 @@ PackageManagerProgressFd::PackageManagerProgressFd(int progress_fd)
 {
 {
    OutStatusFd = progress_fd;
    OutStatusFd = progress_fd;
 }
 }
+PackageManagerProgressFd::~PackageManagerProgressFd() {}
 
 
 void PackageManagerProgressFd::WriteToStatusFd(std::string s)
 void PackageManagerProgressFd::WriteToStatusFd(std::string s)
 {
 {
@@ -157,6 +158,7 @@ PackageManagerProgressDeb822Fd::PackageManagerProgressDeb822Fd(int progress_fd)
 {
 {
    OutStatusFd = progress_fd;
    OutStatusFd = progress_fd;
 }
 }
+PackageManagerProgressDeb822Fd::~PackageManagerProgressDeb822Fd() {}
 
 
 void PackageManagerProgressDeb822Fd::WriteToStatusFd(std::string s)
 void PackageManagerProgressDeb822Fd::WriteToStatusFd(std::string s)
 {
 {
@@ -433,6 +435,10 @@ bool PackageManagerText::StatusChanged(std::string PackageName,
    return true;
    return true;
 }
 }
 
 
+PackageManagerText::PackageManagerText() : PackageManager() {}
+PackageManagerText::~PackageManagerText() {}
+
+
 
 
 
 
 } // namespace progress
 } // namespace progress

+ 10 - 1
apt-pkg/install-progress.h

@@ -61,6 +61,7 @@ namespace Progress {
 
 
  class PackageManagerProgressFd : public PackageManager
  class PackageManagerProgressFd : public PackageManager
  {
  {
+    void *d;
  protected:
  protected:
     int OutStatusFd;
     int OutStatusFd;
     int StepsDone;
     int StepsDone;
@@ -69,6 +70,7 @@ namespace Progress {
 
 
  public:
  public:
     PackageManagerProgressFd(int progress_fd);
     PackageManagerProgressFd(int progress_fd);
+    virtual ~PackageManagerProgressFd();
 
 
     virtual void StartDpkg();
     virtual void StartDpkg();
     virtual void Stop();
     virtual void Stop();
@@ -90,6 +92,7 @@ namespace Progress {
 
 
  class PackageManagerProgressDeb822Fd : public PackageManager
  class PackageManagerProgressDeb822Fd : public PackageManager
  {
  {
+    void *d;
  protected:
  protected:
     int OutStatusFd;
     int OutStatusFd;
     int StepsDone;
     int StepsDone;
@@ -98,6 +101,7 @@ namespace Progress {
 
 
  public:
  public:
     PackageManagerProgressDeb822Fd(int progress_fd);
     PackageManagerProgressDeb822Fd(int progress_fd);
+    virtual ~PackageManagerProgressDeb822Fd();
 
 
     virtual void StartDpkg();
     virtual void StartDpkg();
     virtual void Stop();
     virtual void Stop();
@@ -118,6 +122,7 @@ namespace Progress {
 
 
  class PackageManagerFancy : public PackageManager
  class PackageManagerFancy : public PackageManager
  {
  {
+    void *d;
  private:
  private:
     APT_HIDDEN static void staticSIGWINCH(int);
     APT_HIDDEN static void staticSIGWINCH(int);
     static std::vector<PackageManagerFancy*> instances;
     static std::vector<PackageManagerFancy*> instances;
@@ -138,7 +143,7 @@ namespace Progress {
 
 
  public:
  public:
     PackageManagerFancy();
     PackageManagerFancy();
-    ~PackageManagerFancy();
+    virtual ~PackageManagerFancy();
     virtual void Start(int child_pty=-1);
     virtual void Start(int child_pty=-1);
     virtual void Stop();
     virtual void Stop();
     virtual bool StatusChanged(std::string PackageName,
     virtual bool StatusChanged(std::string PackageName,
@@ -153,11 +158,15 @@ namespace Progress {
 
 
  class PackageManagerText : public PackageManager
  class PackageManagerText : public PackageManager
  {
  {
+    void *d;
  public:
  public:
     virtual bool StatusChanged(std::string PackageName,
     virtual bool StatusChanged(std::string PackageName,
                                unsigned int StepsDone,
                                unsigned int StepsDone,
                                unsigned int TotalSteps,
                                unsigned int TotalSteps,
                                std::string HumanReadableAction);
                                std::string HumanReadableAction);
+
+    PackageManagerText();
+    virtual ~PackageManagerText();
  };
  };
 
 
 
 

+ 1 - 0
apt-pkg/metaindex.h

@@ -28,6 +28,7 @@ class OpProgress;
 
 
 class metaIndex
 class metaIndex
 {
 {
+   void *d;
    protected:
    protected:
    std::vector <pkgIndexFile *> *Indexes;
    std::vector <pkgIndexFile *> *Indexes;
    const char *Type;
    const char *Type;

+ 2 - 2
apt-pkg/orderlist.h

@@ -1,6 +1,5 @@
 // -*- mode: cpp; mode: fold -*-
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
 // Description								/*{{{*/
-// $Id: orderlist.h,v 1.9 2001/02/20 07:03:17 jgg Exp $
 /* ######################################################################
 /* ######################################################################
 
 
    Order List - Represents and Manipulates an ordered list of packages.
    Order List - Represents and Manipulates an ordered list of packages.
@@ -25,6 +24,7 @@
 class pkgDepCache;
 class pkgDepCache;
 class pkgOrderList : protected pkgCache::Namespace
 class pkgOrderList : protected pkgCache::Namespace
 {
 {
+   void *d;
    protected:
    protected:
 
 
    pkgDepCache &Cache;   
    pkgDepCache &Cache;   
@@ -123,7 +123,7 @@ class pkgOrderList : protected pkgCache::Namespace
    int Score(PkgIterator Pkg);
    int Score(PkgIterator Pkg);
 
 
    pkgOrderList(pkgDepCache *Cache);
    pkgOrderList(pkgDepCache *Cache);
-   ~pkgOrderList();
+   virtual ~pkgOrderList();
 };
 };
 
 
 #endif
 #endif

+ 1 - 1
apt-pkg/packagemanager.h

@@ -1,6 +1,5 @@
 // -*- mode: cpp; mode: fold -*-
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
 // Description								/*{{{*/
-// $Id: packagemanager.h,v 1.14 2001/05/07 04:24:08 jgg Exp $
 /* ######################################################################
 /* ######################################################################
 
 
    Package Manager - Abstacts the package manager
    Package Manager - Abstacts the package manager
@@ -146,6 +145,7 @@ class pkgPackageManager : protected pkgCache::Namespace
    virtual ~pkgPackageManager();
    virtual ~pkgPackageManager();
 
 
    private:
    private:
+   void *d;
    enum APT_HIDDEN SmartAction { UNPACK_IMMEDIATE, UNPACK, CONFIGURE };
    enum APT_HIDDEN SmartAction { UNPACK_IMMEDIATE, UNPACK, CONFIGURE };
    APT_HIDDEN bool NonLoopingSmart(SmartAction const action, pkgCache::PkgIterator &Pkg,
    APT_HIDDEN bool NonLoopingSmart(SmartAction const action, pkgCache::PkgIterator &Pkg,
       pkgCache::PkgIterator DepPkg, int const Depth, bool const PkgLoop,
       pkgCache::PkgIterator DepPkg, int const Depth, bool const PkgLoop,

+ 2 - 0
apt-pkg/pkgcache.cc

@@ -1059,3 +1059,5 @@ bool pkgCache::PrvIterator::IsMultiArchImplicit() const
    return false;
    return false;
 }
 }
 									/*}}}*/
 									/*}}}*/
+
+pkgCache::~pkgCache() {}

+ 3 - 2
apt-pkg/pkgcache.h

@@ -266,11 +266,12 @@ class pkgCache								/*{{{*/
    static const char *CompTypeDeb(unsigned char Comp) APT_CONST;
    static const char *CompTypeDeb(unsigned char Comp) APT_CONST;
    static const char *CompType(unsigned char Comp) APT_CONST;
    static const char *CompType(unsigned char Comp) APT_CONST;
    static const char *DepType(unsigned char Dep);
    static const char *DepType(unsigned char Dep);
-   
+
    pkgCache(MMap *Map,bool DoMap = true);
    pkgCache(MMap *Map,bool DoMap = true);
-   virtual ~pkgCache() {}
+   virtual ~pkgCache();
 
 
 private:
 private:
+   void *d;
    bool MultiArchEnabled;
    bool MultiArchEnabled;
    APT_HIDDEN PkgIterator SingleArchFindPkg(const std::string &Name);
    APT_HIDDEN PkgIterator SingleArchFindPkg(const std::string &Name);
 };
 };

+ 3 - 0
apt-pkg/pkgcachegen.cc

@@ -1720,3 +1720,6 @@ bool pkgCacheGenerator::FinishCache(OpProgress * /*Progress*/)
    return true;
    return true;
 }
 }
 									/*}}}*/
 									/*}}}*/
+
+pkgCacheGenerator::ListParser::ListParser() : Owner(NULL), OldDepLast(NULL), FoundFileDeps(false) {}
+pkgCacheGenerator::ListParser::~ListParser() {}

+ 8 - 9
apt-pkg/pkgcachegen.h

@@ -1,6 +1,5 @@
 // -*- mode: cpp; mode: fold -*-
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
 // Description								/*{{{*/
-// $Id: pkgcachegen.h,v 1.19 2002/07/08 03:13:30 jgg Exp $
 /* ######################################################################
 /* ######################################################################
    
    
    Package Cache Generator - Generator for the cache structure.
    Package Cache Generator - Generator for the cache structure.
@@ -123,9 +122,10 @@ class APT_HIDDEN pkgCacheGenerator					/*{{{*/
    void ReMap(void const * const oldMap, void const * const newMap);
    void ReMap(void const * const oldMap, void const * const newMap);
 
 
    pkgCacheGenerator(DynamicMMap *Map,OpProgress *Progress);
    pkgCacheGenerator(DynamicMMap *Map,OpProgress *Progress);
-   ~pkgCacheGenerator();
+   virtual ~pkgCacheGenerator();
 
 
    private:
    private:
+   void *d;
    APT_HIDDEN bool MergeListGroup(ListParser &List, std::string const &GrpName);
    APT_HIDDEN bool MergeListGroup(ListParser &List, std::string const &GrpName);
    APT_HIDDEN bool MergeListPackage(ListParser &List, pkgCache::PkgIterator &Pkg);
    APT_HIDDEN bool MergeListPackage(ListParser &List, pkgCache::PkgIterator &Pkg);
    APT_HIDDEN bool MergeListVersion(ListParser &List, pkgCache::PkgIterator &Pkg,
    APT_HIDDEN bool MergeListVersion(ListParser &List, pkgCache::PkgIterator &Pkg,
@@ -151,7 +151,9 @@ class APT_HIDDEN pkgCacheGenerator::ListParser
 
 
    // Flag file dependencies
    // Flag file dependencies
    bool FoundFileDeps;
    bool FoundFileDeps;
-      
+
+   void *d;
+
    protected:
    protected:
 
 
    inline map_stringitem_t StoreString(pkgCacheGenerator::StringType const type, std::string const &S) {return Owner->StoreString(type, S);};
    inline map_stringitem_t StoreString(pkgCacheGenerator::StringType const type, std::string const &S) {return Owner->StoreString(type, S);};
@@ -182,10 +184,7 @@ class APT_HIDDEN pkgCacheGenerator::ListParser
     * \param Hash of the currently parsed version
     * \param Hash of the currently parsed version
     * \param Ver to compare with
     * \param Ver to compare with
     */
     */
-#if APT_PKG_ABI >= 413
-   virtual
-#endif
-      APT_PURE bool SameVersion(unsigned short const Hash, pkgCache::VerIterator const &Ver);
+   virtual bool SameVersion(unsigned short const Hash, pkgCache::VerIterator const &Ver);
    virtual bool UsePackage(pkgCache::PkgIterator &Pkg,
    virtual bool UsePackage(pkgCache::PkgIterator &Pkg,
 			   pkgCache::VerIterator &Ver) = 0;
 			   pkgCache::VerIterator &Ver) = 0;
    virtual map_filesize_t Offset() = 0;
    virtual map_filesize_t Offset() = 0;
@@ -197,8 +196,8 @@ class APT_HIDDEN pkgCacheGenerator::ListParser
    virtual bool CollectFileProvides(pkgCache &/*Cache*/,
    virtual bool CollectFileProvides(pkgCache &/*Cache*/,
 				    pkgCache::VerIterator &/*Ver*/) {return true;};
 				    pkgCache::VerIterator &/*Ver*/) {return true;};
 
 
-   ListParser() : Owner(NULL), OldDepLast(NULL), FoundFileDeps(false) {};
-   virtual ~ListParser() {};
+   ListParser();
+   virtual ~ListParser();
 };
 };
 									/*}}}*/
 									/*}}}*/
 
 

+ 3 - 0
apt-pkg/pkgrecords.cc

@@ -76,3 +76,6 @@ pkgRecords::Parser &pkgRecords::Lookup(pkgCache::DescFileIterator const &Desc)
    return *Files[Desc.File()->ID];
    return *Files[Desc.File()->ID];
 }
 }
 									/*}}}*/
 									/*}}}*/
+
+pkgRecords::Parser::Parser() {}
+pkgRecords::Parser::~Parser() {}

+ 5 - 3
apt-pkg/pkgrecords.h

@@ -43,7 +43,7 @@ class pkgRecords							/*{{{*/
 
 
    // Construct destruct
    // Construct destruct
    pkgRecords(pkgCache &Cache);
    pkgRecords(pkgCache &Cache);
-   ~pkgRecords();
+   virtual ~pkgRecords();
 };
 };
 									/*}}}*/
 									/*}}}*/
 class pkgRecords::Parser						/*{{{*/
 class pkgRecords::Parser						/*{{{*/
@@ -106,10 +106,12 @@ class pkgRecords::Parser						/*{{{*/
 
 
    // The record in binary form
    // The record in binary form
    virtual void GetRec(const char *&Start,const char *&Stop) {Start = Stop = 0;};
    virtual void GetRec(const char *&Start,const char *&Stop) {Start = Stop = 0;};
-   
-   virtual ~Parser() {};
+
+   Parser();
+   virtual ~Parser();
 
 
    private:
    private:
+   void *d;
    APT_HIDDEN std::string GetHashFromHashes(char const * const type) const
    APT_HIDDEN std::string GetHashFromHashes(char const * const type) const
    {
    {
       HashStringList const hashes = Hashes();
       HashStringList const hashes = Hashes();

+ 2 - 0
apt-pkg/pkgsystem.cc

@@ -45,3 +45,5 @@ APT_PURE pkgSystem *pkgSystem::GetSystem(const char *Label)
    return 0;   
    return 0;   
 }
 }
 									/*}}}*/
 									/*}}}*/
+
+pkgSystem::~pkgSystem() {}

+ 3 - 2
apt-pkg/pkgsystem.h

@@ -1,6 +1,5 @@
 // -*- mode: cpp; mode: fold -*-
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
 // Description								/*{{{*/
-// $Id: pkgsystem.h,v 1.6 2002/11/11 06:55:50 doogie Exp $
 /* ######################################################################
 /* ######################################################################
 
 
    System - Abstraction for running on different systems.
    System - Abstraction for running on different systems.
@@ -93,7 +92,9 @@ class pkgSystem
    };
    };
    
    
    pkgSystem();
    pkgSystem();
-   virtual ~pkgSystem() {};
+   virtual ~pkgSystem();
+   private:
+   void *d;
 };
 };
 
 
 // The environment we are operating in.
 // The environment we are operating in.

+ 2 - 0
apt-pkg/policy.cc

@@ -439,3 +439,5 @@ bool ReadPinFile(pkgPolicy &Plcy,string File)
    return true;
    return true;
 }
 }
 									/*}}}*/
 									/*}}}*/
+
+pkgPolicy::~pkgPolicy() {delete [] PFPriority; delete [] Pins;}

+ 3 - 2
apt-pkg/policy.h

@@ -1,6 +1,5 @@
 // -*- mode: cpp; mode: fold -*-
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
 // Description								/*{{{*/
-// $Id: policy.h,v 1.4 2001/05/07 04:24:08 jgg Exp $
 /* ######################################################################
 /* ######################################################################
 
 
    Package Version Policy implementation
    Package Version Policy implementation
@@ -85,7 +84,9 @@ class pkgPolicy : public pkgDepCache::Policy
    bool InitDefaults();
    bool InitDefaults();
    
    
    pkgPolicy(pkgCache *Owner);
    pkgPolicy(pkgCache *Owner);
-   virtual ~pkgPolicy() {delete [] PFPriority; delete [] Pins;};
+   virtual ~pkgPolicy();
+   private:
+   void *d;
 };
 };
 
 
 bool ReadPinFile(pkgPolicy &Plcy, std::string File = "");
 bool ReadPinFile(pkgPolicy &Plcy, std::string File = "");

+ 2 - 2
apt-pkg/sourcelist.h

@@ -1,6 +1,5 @@
 // -*- mode: cpp; mode: fold -*-
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
 // Description								/*{{{*/
-// $Id: sourcelist.h,v 1.12.2.1 2003/12/24 23:09:17 mdz Exp $
 /* ######################################################################
 /* ######################################################################
 
 
    SourceList - Manage a list of sources
    SourceList - Manage a list of sources
@@ -54,6 +53,7 @@ class metaIndex;
 
 
 class pkgSourceList
 class pkgSourceList
 {
 {
+   void *d;
    public:
    public:
 
 
    // List of supported source list types
    // List of supported source list types
@@ -118,7 +118,7 @@ class pkgSourceList
 
 
    pkgSourceList();
    pkgSourceList();
    pkgSourceList(std::string File);
    pkgSourceList(std::string File);
-   ~pkgSourceList();      
+   virtual ~pkgSourceList();
 };
 };
 
 
 #endif
 #endif

+ 0 - 1
apt-pkg/srcrecords.h

@@ -1,6 +1,5 @@
 // -*- mode: cpp; mode: fold -*-
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
 // Description								/*{{{*/
-// $Id: srcrecords.h,v 1.8.2.1 2003/12/26 16:27:34 mdz Exp $
 /* ######################################################################
 /* ######################################################################
    
    
    Source Package Records - Allows access to source package records
    Source Package Records - Allows access to source package records

+ 0 - 2
apt-pkg/tagfile.h

@@ -1,6 +1,5 @@
 // -*- mode: cpp; mode: fold -*-
 // -*- mode: cpp; mode: fold -*-
 // Description								/*{{{*/
 // Description								/*{{{*/
-// $Id: tagfile.h,v 1.20 2003/05/19 17:13:57 doogie Exp $
 /* ######################################################################
 /* ######################################################################
 
 
    Fast scanner for RFC-822 type header information
    Fast scanner for RFC-822 type header information
@@ -47,7 +46,6 @@ class pkgTagSection
    APT_DEPRECATED unsigned int TagCount;
    APT_DEPRECATED unsigned int TagCount;
 #endif
 #endif
 
 
-   // dpointer placeholder (for later in case we need it)
    pkgTagSectionPrivate *d;
    pkgTagSectionPrivate *d;
 
 
    protected:
    protected:

+ 3 - 0
apt-pkg/version.cc

@@ -40,3 +40,6 @@ pkgVersioningSystem *pkgVersioningSystem::GetVS(const char *Label)
    return 0;
    return 0;
 }
 }
 									/*}}}*/
 									/*}}}*/
+
+
+pkgVersioningSystem::~pkgVersioningSystem() {}

+ 1 - 1
apt-pkg/version.h

@@ -55,7 +55,7 @@ class pkgVersioningSystem
    APT_MKSTRCMP(CmpReleaseVer,DoCmpReleaseVer);
    APT_MKSTRCMP(CmpReleaseVer,DoCmpReleaseVer);
    
    
    pkgVersioningSystem();
    pkgVersioningSystem();
-   virtual ~pkgVersioningSystem() {};
+   virtual ~pkgVersioningSystem();
 };
 };
 
 
 #endif
 #endif

+ 26 - 20
test/libapt/acqprogress_test.cc

@@ -25,21 +25,23 @@ TEST(AcqProgress, IMSHit)
    AcqTextStatus Stat(out, width, 0);
    AcqTextStatus Stat(out, width, 0);
    Stat.Start();
    Stat.Start();
 
 
+   pkgAcquire Acq(&Stat);
    pkgAcquire::ItemDesc hit;
    pkgAcquire::ItemDesc hit;
    hit.URI = "http://example.org/file";
    hit.URI = "http://example.org/file";
    hit.Description = "Example File from example.org";
    hit.Description = "Example File from example.org";
    hit.ShortDesc = "Example File";
    hit.ShortDesc = "Example File";
-   hit.Owner = NULL;
+   TestItem hitO(&Acq);
+   hit.Owner = &hitO;
 
 
    EXPECT_EQ("", out.str());
    EXPECT_EQ("", out.str());
    Stat.IMSHit(hit);
    Stat.IMSHit(hit);
-   EXPECT_EQ("Hit Example File from example.org\n", out.str());
+   EXPECT_EQ("Hit:1 Example File from example.org\n", out.str());
    Stat.IMSHit(hit);
    Stat.IMSHit(hit);
-   EXPECT_EQ("Hit Example File from example.org\n"
-	     "Hit Example File from example.org\n", out.str());
+   EXPECT_EQ("Hit:1 Example File from example.org\n"
+	     "Hit:1 Example File from example.org\n", out.str());
    Stat.Stop();
    Stat.Stop();
-   EXPECT_EQ("Hit Example File from example.org\n"
-	     "Hit Example File from example.org\n", out.str());
+   EXPECT_EQ("Hit:1 Example File from example.org\n"
+	     "Hit:1 Example File from example.org\n", out.str());
 }
 }
 TEST(AcqProgress, FetchNoFileSize)
 TEST(AcqProgress, FetchNoFileSize)
 {
 {
@@ -61,10 +63,10 @@ TEST(AcqProgress, FetchNoFileSize)
    EXPECT_EQ("Get:1 Example File from example.org\n", out.str());
    EXPECT_EQ("Get:1 Example File from example.org\n", out.str());
    Stat.Fetch(fetch);
    Stat.Fetch(fetch);
    EXPECT_EQ("Get:1 Example File from example.org\n"
    EXPECT_EQ("Get:1 Example File from example.org\n"
-	     "Get:2 Example File from example.org\n", out.str());
+	     "Get:1 Example File from example.org\n", out.str());
    Stat.Stop();
    Stat.Stop();
    EXPECT_EQ("Get:1 Example File from example.org\n"
    EXPECT_EQ("Get:1 Example File from example.org\n"
-	     "Get:2 Example File from example.org\n", out.str());
+	     "Get:1 Example File from example.org\n", out.str());
 }
 }
 TEST(AcqProgress, FetchFileSize)
 TEST(AcqProgress, FetchFileSize)
 {
 {
@@ -88,10 +90,10 @@ TEST(AcqProgress, FetchFileSize)
    fetchO.FileSize = 42;
    fetchO.FileSize = 42;
    Stat.Fetch(fetch);
    Stat.Fetch(fetch);
    EXPECT_EQ("Get:1 Example File from example.org [100 B]\n"
    EXPECT_EQ("Get:1 Example File from example.org [100 B]\n"
-	     "Get:2 Example File from example.org [42 B]\n", out.str());
+	     "Get:1 Example File from example.org [42 B]\n", out.str());
    Stat.Stop();
    Stat.Stop();
    EXPECT_EQ("Get:1 Example File from example.org [100 B]\n"
    EXPECT_EQ("Get:1 Example File from example.org [100 B]\n"
-	     "Get:2 Example File from example.org [42 B]\n", out.str());
+	     "Get:1 Example File from example.org [42 B]\n", out.str());
 }
 }
 TEST(AcqProgress, Fail)
 TEST(AcqProgress, Fail)
 {
 {
@@ -112,30 +114,34 @@ TEST(AcqProgress, Fail)
 
 
    EXPECT_EQ("", out.str());
    EXPECT_EQ("", out.str());
    Stat.Fail(fetch);
    Stat.Fail(fetch);
-   EXPECT_EQ("", out.str());
+   EXPECT_EQ("Ign:1 Example File from example.org\n", out.str());
    fetchO.Status = pkgAcquire::Item::StatDone;
    fetchO.Status = pkgAcquire::Item::StatDone;
    Stat.Fail(fetch);
    Stat.Fail(fetch);
-   EXPECT_EQ("Ign Example File from example.org\n", out.str());
+   EXPECT_EQ("Ign:1 Example File from example.org\n"
+	     "Ign:1 Example File from example.org\n", out.str());
    fetchO.Status = pkgAcquire::Item::StatError;
    fetchO.Status = pkgAcquire::Item::StatError;
    fetchO.ErrorText = "An error test!";
    fetchO.ErrorText = "An error test!";
    Stat.Fail(fetch);
    Stat.Fail(fetch);
-   EXPECT_EQ("Ign Example File from example.org\n"
-	     "Err Example File from example.org\n"
+   EXPECT_EQ("Ign:1 Example File from example.org\n"
+	     "Ign:1 Example File from example.org\n"
+	     "Err:1 Example File from example.org\n"
 	     "  An error test!\n", out.str());
 	     "  An error test!\n", out.str());
    _config->Set("Acquire::Progress::Ignore::ShowErrorText", true);
    _config->Set("Acquire::Progress::Ignore::ShowErrorText", true);
    fetchO.Status = pkgAcquire::Item::StatDone;
    fetchO.Status = pkgAcquire::Item::StatDone;
    Stat.Fail(fetch);
    Stat.Fail(fetch);
-   EXPECT_EQ("Ign Example File from example.org\n"
-	     "Err Example File from example.org\n"
+   EXPECT_EQ("Ign:1 Example File from example.org\n"
+	     "Ign:1 Example File from example.org\n"
+	     "Err:1 Example File from example.org\n"
 	     "  An error test!\n"
 	     "  An error test!\n"
-	     "Ign Example File from example.org\n"
+	     "Ign:1 Example File from example.org\n"
 	     "  An error test!\n", out.str());
 	     "  An error test!\n", out.str());
    _config->Set("Acquire::Progress::Ignore::ShowErrorText", true);
    _config->Set("Acquire::Progress::Ignore::ShowErrorText", true);
    Stat.Stop();
    Stat.Stop();
-   EXPECT_EQ("Ign Example File from example.org\n"
-	     "Err Example File from example.org\n"
+   EXPECT_EQ("Ign:1 Example File from example.org\n"
+	     "Ign:1 Example File from example.org\n"
+	     "Err:1 Example File from example.org\n"
 	     "  An error test!\n"
 	     "  An error test!\n"
-	     "Ign Example File from example.org\n"
+	     "Ign:1 Example File from example.org\n"
 	     "  An error test!\n", out.str());
 	     "  An error test!\n", out.str());
 }
 }
 TEST(AcqProgress, Pulse)
 TEST(AcqProgress, Pulse)