// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: pkgsystem.h,v 1.6 2002/11/11 06:55:50 doogie Exp $
/* ######################################################################
System - Abstraction for running on different systems.
#define PKGLIB_PKGSYSTEM_H
#include <apt-pkg/pkgcache.h>
+#include <apt-pkg/cacheiterators.h>
#include <vector>
class pkgVersioningSystem;
class Configuration;
class pkgIndexFile;
-class PkgFileIterator;
class pkgSystem
-{
+{
public:
// Global list of supported systems
static unsigned long GlobalListLen;
static pkgSystem *GetSystem(const char *Label);
- const char *Label;
- pkgVersioningSystem *VS;
+ const char * const Label;
+ pkgVersioningSystem * const VS;
/* Prevent other programs from touching shared data not covered by
other locks (cache or state locks) */
virtual bool ArchiveSupported(const char *Type) = 0;
// Return a list of system index files..
- virtual bool AddStatusFiles(std::vector<pkgIndexFile *> &List) = 0;
+ virtual bool AddStatusFiles(std::vector<pkgIndexFile *> &List) = 0;
+
virtual bool FindIndex(pkgCache::PkgFileIterator File,
pkgIndexFile *&Found) const = 0;
-
+
/* Evauluate how 'right' we are for this system based on the filesystem
etc.. */
- virtual signed Score(Configuration const &/*Cnf*/) {return 0;};
-
- pkgSystem();
- virtual ~pkgSystem() {};
+ virtual signed Score(Configuration const &/*Cnf*/) {
+ return 0;
+ };
+
+ pkgSystem(char const * const Label, pkgVersioningSystem * const VS);
+ virtual ~pkgSystem();
+ private:
+ void * const d;
};
// The environment we are operating in.