X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/49cb36fc56225b02b4c39aea43095de15da75217..3b4d8136e78b9f2a70431ece4c850861d90e8bb1:/apt-pkg/cdrom.h diff --git a/apt-pkg/cdrom.h b/apt-pkg/cdrom.h index 74667297e..cedfccff7 100644 --- a/apt-pkg/cdrom.h +++ b/apt-pkg/cdrom.h @@ -1,14 +1,18 @@ #ifndef PKGLIB_CDROM_H #define PKGLIB_CDROM_H -#include #include #include - +#ifndef APT_8_CLEANER_HEADERS +#include using namespace std; +#endif -class pkgCdromStatus +class Configuration; +class OpProgress; + +class pkgCdromStatus /*{{{*/ { protected: int totalSteps; @@ -20,17 +24,17 @@ class 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; + virtual void Update(std::string text="", int current=0) = 0; // ask for cdrom insert virtual bool ChangeCdrom() = 0; // ask for cdrom name - virtual bool AskCdromName(string &Name) = 0; + virtual bool AskCdromName(std::string &Name) = 0; // Progress indicator for the Index rewriter virtual OpProgress* GetOpProgress() {return NULL; }; }; - -class pkgCdrom + /*}}}*/ +class pkgCdrom /*{{{*/ { protected: enum { @@ -47,38 +51,37 @@ class pkgCdrom }; - bool FindPackages(string CD, - vector &List, - vector &SList, - vector &SigList, - vector &TransList, - string &InfoDir, pkgCdromStatus *log, + bool FindPackages(std::string CD, + std::vector &List, + std::vector &SList, + std::vector &SigList, + std::vector &TransList, + std::string &InfoDir, pkgCdromStatus *log, unsigned int Depth = 0); - bool DropBinaryArch(vector &List); - bool DropRepeats(vector &List,const char *Name); - void ReduceSourcelist(string CD,vector &List); + bool DropBinaryArch(std::vector &List); + bool DropRepeats(std::vector &List,const char *Name); + void ReduceSourcelist(std::string CD,std::vector &List); bool WriteDatabase(Configuration &Cnf); - bool WriteSourceList(string Name,vector &List,bool Source); - int Score(string Path); + bool WriteSourceList(std::string Name,std::vector &List,bool Source); + int Score(std::string Path); public: - bool Ident(string &ident, pkgCdromStatus *log); + bool Ident(std::string &ident, pkgCdromStatus *log); bool Add(pkgCdromStatus *log); }; + /*}}}*/ -// class that uses libudev to find cdrom devices dynamically -struct CdromDevice +// class that uses libudev to find cdrom/removable devices dynamically +struct CdromDevice /*{{{*/ { - string DeviceName; + std::string DeviceName; bool Mounted; - string MountPath; + std::string MountPath; }; - -class pkgUdevCdromDevices + /*}}}*/ +class pkgUdevCdromDevices /*{{{*/ { - private: - bool Dlopened; protected: // libudev dlopen stucture void *libudev_handle; @@ -93,6 +96,7 @@ class pkgUdevCdromDevices struct udev_enumerate *(*udev_enumerate_new) (struct udev *udev); struct udev_list_entry *(*udev_list_entry_get_next)(struct udev_list_entry *list_entry); const char* (*udev_device_get_property_value)(struct udev_device *udev_device, const char *key); + int (*udev_enumerate_add_match_sysattr)(struct udev_enumerate *udev_enumerate, const char *property, const char *value); // end libudev dlopen public: @@ -101,9 +105,13 @@ class pkgUdevCdromDevices // try to open bool Dlopen(); - vector Scan(); -}; + // convenience interface, this will just call ScanForRemovable + // with "APT::cdrom::CdromOnly" + std::vector Scan(); + std::vector ScanForRemovable(bool CdromOnly); +}; + /*}}}*/ #endif