summaryrefslogtreecommitdiff
path: root/apt-pkg/cdrom.h
diff options
context:
space:
mode:
authorChristian Perrier <bubulle@debian.org>2005-02-05 06:49:51 +0000
committerChristian Perrier <bubulle@debian.org>2005-02-05 06:49:51 +0000
commit1b5a62221cc034658354692be6ba4dfb7ef152e7 (patch)
treed924467becc6bddbe453bd945e7e36385f0828df /apt-pkg/cdrom.h
parenta40d89ae66e8b0c519cc8495982d9c1d1b0539dd (diff)
parent8a57929175a93466c83a8e697ad876b60b2eb3c2 (diff)
Merge with Matt and update French translation
Patches applied: * apt@packages.debian.org/apt--main--0--patch-49 Merge michael.vogt@canonical.com--2004/apt--status-fd--0 * apt@packages.debian.org/apt--main--0--patch-50 Increment libapt-pkg version * apt@packages.debian.org/apt--main--0--patch-51 0.6.30 * apt@packages.debian.org/apt--main--0--patch-52 0.6.31 * apt@packages.debian.org/apt--main--0--patch-53 Remove debugging from apt.cron.daily * apt@packages.debian.org/apt--main--0--patch-54 allow SHA1Summation to process a file descriptor until EOF * apt@packages.debian.org/apt--main--0--patch-55 Fix syntax in sha1.cc * apt@packages.debian.org/apt--main--0--patch-56 Fix build/install of Polish offline documentation * apt@packages.debian.org/apt--main--0--patch-57 Move CD-ROM handling backend into libapt-pkg * apt@packages.debian.org/apt--main--0--patch-58 Fix compilation errors from apt--auth-cdrom--0 * michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--base-0 tag of apt@packages.debian.org/apt--main--0--patch-32 * michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--patch-1 * michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--patch-2 * changed version of the library * michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--patch-3 * merged with matt again * michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--patch-4 * merged with apt--main--0 and fixed permissions in po/ * michael.vogt@canonical.com--2004/apt--status-fd--0--patch-1 tag of michael.vogt@canonical.com--2004--laptop/apt--status-fd--0--patch-4 * michael.vogt@canonical.com--2004/apt--status-fd--0--patch-2 * merged with matt's tree * michael.vogt@canonical.com--2004/apt--status-fd--0--patch-3 * removed a stupid "<<<" merge in the changelog * michael.vogt@canonical.com--2004/apt--status-fd--0--patch-4 * star-merged with apt@packages.debian.org/apt--main--0 * michael.vogt@canonical.com--2004/apt--status-fd--0--patch-5 * removed the "pre-fork/post-fork" change and put it into it's own branch, star-merged with matt so that it applies cleanly * michael.vogt@canonical.com--2004/apt--status-fd--0--patch-6 * cleaned a incorrect log-file merge * michael.vogt@canonical.com--2004/apt--status-fd--0--patch-7 * removed a conflict in =tagging-method * michael.vogt@canonical.com--2004/apt--status-fd--0--patch-8 * cleaned up the delta so that it no longer contains unreleated whitespace changes * michael.vogt@ubuntu.com--2005/apt--auth-cdrom--0--base-0 tag of apt@packages.debian.org/apt--main--0--patch-51 * michael.vogt@ubuntu.com--2005/apt--auth-cdrom--0--patch-1 * added support for signed cdroms * michael.vogt@ubuntu.com--2005/apt--auth-cdrom--0--patch-2 * merged with apt--main, seperated cmdline/apt-cdrom.cc into a library (apt-pkg/cdrom.{cc,h}) * michael.vogt@ubuntu.com--2005/apt--auth-cdrom--0--patch-3 * cleaned up the cmdline/apt-cdrom.cc code
Diffstat (limited to 'apt-pkg/cdrom.h')
-rw-r--r--apt-pkg/cdrom.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/apt-pkg/cdrom.h b/apt-pkg/cdrom.h
new file mode 100644
index 000000000..085eb64e2
--- /dev/null
+++ b/apt-pkg/cdrom.h
@@ -0,0 +1,71 @@
+#ifndef PKGLIB_CDROM_H
+#define PKGLIB_CDROM_H
+
+#include<apt-pkg/init.h>
+#include<string>
+#include<vector>
+
+#ifdef __GNUG__
+#pragma interface "apt-pkg/cdrom.h"
+#endif
+
+using namespace std;
+
+class pkgCdromStatus
+{
+ protected:
+ int totalSteps;
+
+ public:
+ pkgCdromStatus() {};
+ virtual ~pkgCdromStatus() {};
+
+ // total steps
+ virtual void SetTotal(int total) { totalSteps = total; };
+ // update steps, will be called regularly as a "pulse"
+ virtual void Update(string text="", int current=0) = 0;
+
+ // ask for cdrom insert
+ virtual bool ChangeCdrom() = 0;
+ // ask for cdrom name
+ virtual bool AskCdromName(string &Name) = 0;
+ // Progress indicator for the Index rewriter
+ virtual OpProgress* GetOpProgress() {return NULL; };
+};
+
+class pkgCdrom
+{
+ protected:
+ enum {
+ STEP_PREPARE = 1,
+ STEP_UNMOUNT,
+ STEP_WAIT,
+ STEP_MOUNT,
+ STEP_IDENT,
+ STEP_SCAN,
+ STEP_COPY,
+ STEP_WRITE,
+ STEP_UNMOUNT3,
+ STEP_LAST
+ };
+
+
+ bool FindPackages(string CD,vector<string> &List,
+ vector<string> &SList, vector<string> &SigList,
+ string &InfoDir, pkgCdromStatus *log,
+ unsigned int Depth = 0);
+ bool DropBinaryArch(vector<string> &List);
+ bool DropRepeats(vector<string> &List,const char *Name);
+ void ReduceSourcelist(string CD,vector<string> &List);
+ bool WriteDatabase(Configuration &Cnf);
+ bool WriteSourceList(string Name,vector<string> &List,bool Source);
+ int Score(string Path);
+
+ public:
+ bool Ident(string &ident, pkgCdromStatus *log);
+ bool Add(pkgCdromStatus *log);
+};
+
+
+
+#endif