libzypp
10.5.0
|
00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #ifndef ZYPP_MEDIA_MEDIAISO_H 00013 #define ZYPP_MEDIA_MEDIAISO_H 00014 00015 #include "zypp/media/MediaHandler.h" 00016 #include "zypp/media/MediaManager.h" 00017 00019 namespace zypp 00020 { 00021 00023 namespace media 00024 { 00025 00026 00028 // 00029 // CLASS NAME : MediaISO 00030 // 00035 class MediaISO : public MediaHandler 00036 { 00037 private: 00038 Pathname _isofile; 00039 MediaAccessId _isosource; 00040 std::string _filesystem; 00041 00042 private: 00043 std::string findUnusedLoopDevice(); 00044 00045 protected: 00046 00047 virtual void attachTo (bool next = false); 00048 virtual void releaseFrom( const std::string & ejectDev = "" ); 00049 virtual void getFile( const Pathname & filename ) const; 00050 virtual void getDir( const Pathname & dirname, bool recurse_r ) const; 00051 virtual void getDirInfo( std::list<std::string> & retlist, 00052 const Pathname & dirname, bool dots = true ) const; 00053 virtual void getDirInfo( filesystem::DirContent & retlist, 00054 const Pathname & dirname, bool dots = true ) const; 00055 virtual bool getDoesFileExist( const Pathname & filename ) const; 00056 00057 public: 00058 00059 MediaISO(const Url &url_r, 00060 const Pathname &attach_point_hint_r); 00061 00062 virtual 00063 ~MediaISO(); 00064 00065 virtual bool 00066 isAttached() const; 00067 }; 00068 00069 00071 } // namespace media 00073 00075 } // namespace zypp 00077 00078 #endif // ZYPP_MEDIA_MEDIAISO_H 00079 00080 // vim: set ts=2 sts=2 sw=2 ai et: 00081