| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- // -*- mode: cpp; mode: fold -*-
- // Description /*{{{*/
- // $Id: dpkgpm.h,v 1.8 2001/05/07 05:05:13 jgg Exp $
- /* ######################################################################
- DPKG Package Manager - Provide an interface to dpkg
-
- ##################################################################### */
- /*}}}*/
- #ifndef PKGLIB_DPKGPM_H
- #define PKGLIB_DPKGPM_H
- #ifdef __GNUG__
- #pragma interface "apt-pkg/dpkgpm.h"
- #endif
- #include <apt-pkg/packagemanager.h>
- #include <vector>
- #include <stdio.h>
- using std::vector;
- class pkgDPkgPM : public pkgPackageManager
- {
- protected:
- // used for progress reporting
- struct DpkgState
- {
- const char *state; // the dpkg state (e.g. "unpack")
- const char *str; // the human readable translation of the state
- };
-
- struct Item
- {
- enum Ops {Install, Configure, Remove, Purge} Op;
- string File;
- PkgIterator Pkg;
- Item(Ops Op,PkgIterator Pkg,string File = "") : Op(Op),
- File(File), Pkg(Pkg) {};
- Item() {};
-
- };
- vector<Item> List;
- // Helpers
- bool RunScripts(const char *Cnf);
- bool RunScriptsWithPkgs(const char *Cnf);
- bool SendV2Pkgs(FILE *F);
-
- // The Actuall installation implementation
- virtual bool Install(PkgIterator Pkg,string File);
- virtual bool Configure(PkgIterator Pkg);
- virtual bool Remove(PkgIterator Pkg,bool Purge = false);
- virtual bool Go(int StatusFd=-1);
- virtual void Reset();
-
- public:
- pkgDPkgPM(pkgDepCache *Cache);
- virtual ~pkgDPkgPM();
- };
- #endif
|