]> git.saurik.com Git - apt.git/blobdiff - apt-pkg/deb/debsystem.cc
just-in-time creation for (implicit) Provides
[apt.git] / apt-pkg / deb / debsystem.cc
index 7644bc66bed295f5e063fc180427dd4203664e73..465e13b9eb2f3db700736c785ef7fa40b73eb64c 100644 (file)
@@ -10,6 +10,8 @@
    ##################################################################### */
                                                                        /*}}}*/
 // Include Files                                                       /*{{{*/
    ##################################################################### */
                                                                        /*}}}*/
 // Include Files                                                       /*{{{*/
+#include <config.h>
+
 #include <apt-pkg/debsystem.h>
 #include <apt-pkg/debversion.h>
 #include <apt-pkg/debindexfile.h>
 #include <apt-pkg/debsystem.h>
 #include <apt-pkg/debversion.h>
 #include <apt-pkg/debindexfile.h>
 #include <apt-pkg/configuration.h>
 #include <apt-pkg/error.h>
 #include <apt-pkg/fileutl.h>
 #include <apt-pkg/configuration.h>
 #include <apt-pkg/error.h>
 #include <apt-pkg/fileutl.h>
-#include <apti18n.h>
-#include <sys/types.h>
+#include <apt-pkg/pkgcache.h>
+#include <apt-pkg/cacheiterators.h>
+
+#include <ctype.h>
+#include <stdlib.h>
+#include <string.h>
+#include <string>
+#include <vector>
 #include <unistd.h>
 #include <dirent.h>
 #include <errno.h>
 #include <unistd.h>
 #include <dirent.h>
 #include <errno.h>
+
+#include <apti18n.h>
                                                                        /*}}}*/
 
                                                                        /*}}}*/
 
+using std::string;
+
 debSystem debSys;
 
 debSystem debSys;
 
-class debSystemPrivate {
+class APT_HIDDEN debSystemPrivate {
 public:
    debSystemPrivate() : LockFD(-1), LockCount(0), StatusFile(0)
    {
 public:
    debSystemPrivate() : LockFD(-1), LockCount(0), StatusFile(0)
    {
@@ -41,11 +53,8 @@ public:
 // System::debSystem - Constructor                                     /*{{{*/
 // ---------------------------------------------------------------------
 /* */
 // System::debSystem - Constructor                                     /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-debSystem::debSystem()
+debSystem::debSystem() : pkgSystem("Debian dpkg interface", &debVS), d(new debSystemPrivate())
 {
 {
-   d = new debSystemPrivate();
-   Label = "Debian dpkg interface";
-   VS = &debVS;
 }
                                                                        /*}}}*/
 // System::~debSystem - Destructor                                     /*{{{*/
 }
                                                                        /*}}}*/
 // System::~debSystem - Destructor                                     /*{{{*/
@@ -188,9 +197,9 @@ bool debSystem::Initialize(Configuration &Cnf)
                                                                        /*}}}*/
 // System::ArchiveSupported - Is a file format supported               /*{{{*/
 // ---------------------------------------------------------------------
                                                                        /*}}}*/
 // System::ArchiveSupported - Is a file format supported               /*{{{*/
 // ---------------------------------------------------------------------
-/* The standard name for a deb is 'deb'.. There are no seperate versions
+/* The standard name for a deb is 'deb'.. There are no separate versions
    of .deb to worry about.. */
    of .deb to worry about.. */
-bool debSystem::ArchiveSupported(const char *Type)
+APT_PURE bool debSystem::ArchiveSupported(const char *Type)
 {
    if (strcmp(Type,"deb") == 0)
       return true;
 {
    if (strcmp(Type,"deb") == 0)
       return true;
@@ -216,7 +225,7 @@ signed debSystem::Score(Configuration const &Cnf)
 // System::AddStatusFiles - Register the status files                  /*{{{*/
 // ---------------------------------------------------------------------
 /* */
 // System::AddStatusFiles - Register the status files                  /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-bool debSystem::AddStatusFiles(vector<pkgIndexFile *> &List)
+bool debSystem::AddStatusFiles(std::vector<pkgIndexFile *> &List)
 {
    if (d->StatusFile == 0)
       d->StatusFile = new debStatusIndex(_config->FindFile("Dir::State::status"));
 {
    if (d->StatusFile == 0)
       d->StatusFile = new debStatusIndex(_config->FindFile("Dir::State::status"));