1 /*---------------------------------------------------------------------\
3 | |__ / \ / / . \ . \ |
8 \---------------------------------------------------------------------*/
11 #include "zypp/base/Logger.h"
12 #include "zypp/repo/SUSEMediaVerifier.h"
21 SUSEMediaVerifier::SUSEMediaVerifier(const std::string & vendor_r,
22 const std::string & id_r,
23 const media::MediaNr media_nr)
24 : _media_vendor(vendor_r)
29 SUSEMediaVerifier::SUSEMediaVerifier( int media_nr, const Pathname &path_r )
32 std::ifstream str(path_r.asString().c_str());
38 getline(str, _media_vendor);
39 getline(str, _media_id);
43 ZYPP_THROW(Exception("Can't setup media verifier using file: '"
44 + path_r.asString() + "'"));
48 bool SUSEMediaVerifier::isDesiredMedia(const media::MediaAccessRef &ref)
50 if (_media_vendor.empty() || _media_id.empty())
53 Pathname media_file = "/media." + str::numstring(_media_nr) + "/media";
54 ref->provideFile (media_file, 0);
55 media_file = ref->localPath(media_file);
56 std::ifstream str(media_file.asString().c_str());
62 bool ret = ( vendor == _media_vendor && id == _media_id );
64 DBG << "cached vendor: " << _media_vendor << endl;
65 DBG << "repo vendor: " << vendor << endl;
66 DBG << "cached id: " << _media_id << endl;
67 DBG << "repo id: " << id << endl;