libzypp  17.35.11
MediaCIFS.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_MEDIA_MEDIACIFS_H
13 #define ZYPP_MEDIA_MEDIACIFS_H
14 
16 
17 namespace zypp {
18  namespace media {
19 
20  class AuthData;
21 
23  //
24  // CLASS NAME : MediaCIFS
32  class MediaCIFS : public MediaHandler {
33 
34  protected:
35 
36  void attachTo (bool next = false) override;
37  void releaseFrom( const std::string & ejectDev ) override;
38  void getFile( const OnMediaLocation & file ) const override;
39  void getDir( const Pathname & dirname, bool recurse_r ) const override;
40  void getDirInfo( std::list<std::string> & retlist,
41  const Pathname & dirname, bool dots = true ) const override;
42  void getDirInfo( filesystem::DirContent & retlist,
43  const Pathname & dirname, bool dots = true ) const override;
44  bool getDoesFileExist( const Pathname & filename ) const override;
45 
46  public:
47  MediaCIFS( const Url& url_r,
48  const Pathname & attach_point_hint_r );
49 
50  ~MediaCIFS() override { try { release(); } catch(...) {} }
51 
52  bool isAttached() const override;
53 
54  private:
55  bool authenticate( AuthData & authdata, bool firstTry ) const;
56  };
57 
59  } // namespace media
60 } // namespace zypp
61 
62 #endif // ZYPP_MEDIA_MEDIACIFS_H
Describes a resource file located on a medium.
void attachTo(bool next=false) override
Asserted that not already attached, and attachPoint is a directory.
Definition: MediaCIFS.cc:129
~MediaCIFS() override
Definition: MediaCIFS.h:50
void getDirInfo(std::list< std::string > &retlist, const Pathname &dirname, bool dots=true) const override
Call concrete handler to provide a content list of directory on media via retlist.
Definition: MediaCIFS.cc:378
bool isAttached() const override
True if media is attached.
Definition: MediaCIFS.cc:327
std::list< DirEntry > DirContent
Returned by readdir.
Definition: PathInfo.h:519
void getDir(const Pathname &dirname, bool recurse_r) const override
Call concrete handler to provide directory content (not recursive!) below attach point.
Definition: MediaCIFS.cc:365
bool getDoesFileExist(const Pathname &filename) const override
check if a file exists
Definition: MediaCIFS.cc:398
void releaseFrom(const std::string &ejectDev) override
Call concrete handler to release the media.
Definition: MediaCIFS.cc:340
Implementation class for CIFS MediaHandler.
Definition: MediaCIFS.h:32
Abstract base class for &#39;physical&#39; MediaHandler like MediaCD, etc.
Definition: MediaHandler.h:51
zypp::media::AuthData AuthData
Definition: authdata.h:21
Class for handling media authentication data.
Definition: authdata.h:30
bool authenticate(AuthData &authdata, bool firstTry) const
Definition: MediaCIFS.cc:403
void getFile(const OnMediaLocation &file) const override
Call concrete handler to provide file below attach point.
Definition: MediaCIFS.cc:353
MediaCIFS(const Url &url_r, const Pathname &attach_point_hint_r)
Definition: MediaCIFS.cc:101
Easy-to use interface to the ZYPP dependency resolver.
Definition: Application.cc:19
void release(const std::string &ejectDev="")
Use concrete handler to release the media.
Url manipulation class.
Definition: Url.h:91