// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: pkgsystem.h,v 1.3 2001/03/11 07:35:49 jgg Exp $
+// $Id: pkgsystem.h,v 1.6 2002/11/11 06:55:50 doogie Exp $
/* ######################################################################
System - Abstraction for running on different systems.
Instances of this class can be thought of as factories or meta-classes
for a variety of more specialized classes. Together this class and
- it's speciallized offspring completely define the environment and how
+ it's specialized offspring completely define the environment and how
to access resources for a specific system. There are several sub
areas that are all orthogonal - each system has a unique combination of
these sub areas:
- Selection of local 'status' indexes that make up the pkgCache.
It is important to note that the handling of index files is not a
- function of the system. Index files are handled through a seperate
+ function of the system. Index files are handled through a separate
abstraction - the only requirement is that the index files have the
same idea of versioning as the target system.
#ifndef PKGLIB_PKGSYSTEM_H
#define PKGLIB_PKGSYSTEM_H
-#ifdef __GNUG__
-#pragma interface "apt-pkg/pkgsystem.h"
-#endif
+#include <apt-pkg/pkgcache.h>
+
+#include <vector>
+#ifndef APT_8_CLEANER_HEADERS
#include <apt-pkg/depcache.h>
-#include <vector.h>
-
+#endif
+
+class pkgDepCache;
class pkgPackageManager;
class pkgVersioningSystem;
class Configuration;
class pkgIndexFile;
+class PkgFileIterator;
class pkgSystem
{
virtual bool ArchiveSupported(const char *Type) = 0;
// Return a list of system index files..
- virtual bool AddStatusFiles(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.. */