00001
00002
00003
00004
00005
00006
00007
00008
00012 #ifndef ZYPP_MEDIA_MEDIASMB_H
00013 #define ZYPP_MEDIA_MEDIASMB_H
00014
00015 #include "zypp/media/MediaHandler.h"
00016
00017 namespace zypp {
00018 namespace media {
00019
00021
00022
00031 class MediaSMB : public MediaHandler {
00032
00033 private:
00034
00040 const char* _vfstype;
00041
00042 protected:
00043
00044 virtual void attachTo (bool next = false);
00045 virtual void releaseFrom( bool eject );
00046 virtual void getFile( const Pathname & filename ) const;
00047 virtual void getDir( const Pathname & dirname, bool recurse_r ) const;
00048 virtual void getDirInfo( std::list<std::string> & retlist,
00049 const Pathname & dirname, bool dots = true ) const;
00050 virtual void getDirInfo( filesystem::DirContent & retlist,
00051 const Pathname & dirname, bool dots = true ) const;
00052 virtual bool getDoesFileExist( const Pathname & filename ) const;
00053
00058 void mountAsCIFS() { _vfstype = "cifs"; }
00059
00060 public:
00061
00062 MediaSMB( const Url& url_r,
00063 const Pathname & attach_point_hint_r );
00064
00065 virtual ~MediaSMB() { try { release(); } catch(...) {} }
00066
00067 virtual bool isAttached() const;
00068 };
00069
00071 }
00072 }
00073
00074 #endif // ZYPP_MEDIA_MEDIASMB_H