libzypp 17.37.17
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
17namespace 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 MirroredOrigin& origin_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
Manages a data source characterized by an authoritative URL and a list of mirror URLs.
Describes a resource file located on a medium.
Class for handling media authentication data.
Definition authdata.h:31
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
MediaCIFS(const MirroredOrigin &origin_r, const Pathname &attach_point_hint_r)
Definition MediaCIFS.cc:101
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
~MediaCIFS() override
Definition MediaCIFS.h:50
bool authenticate(AuthData &authdata, bool firstTry) const
Definition MediaCIFS.cc:403
bool isAttached() const override
True if media is attached.
Definition MediaCIFS.cc:327
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
void getFile(const OnMediaLocation &file) const override
Call concrete handler to provide file below attach point.
Definition MediaCIFS.cc:353
void attachTo(bool next=false) override
Asserted that not already attached, and attachPoint is a directory.
Definition MediaCIFS.cc:129
MediaHandler(MirroredOrigin origin_r, const Pathname &attach_point_r, Pathname urlpath_below_attachpoint_r, const bool does_download_r)
If the concrete media handler provides a nonempty attach_point, it must be an existing directory.
void release(const std::string &ejectDev="")
Use concrete handler to release the media.
std::list< DirEntry > DirContent
Returned by readdir.
Definition PathInfo.h:526
Easy-to use interface to the ZYPP dependency resolver.