libzypp  10.5.0
MediaISO.h
Go to the documentation of this file.
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