f9a3574b96be24b659d673f09f6aa2995e7a7e35
[platform/upstream/libzypp.git] / zypp / media / CredentialFileReader.h
1 /*---------------------------------------------------------------------\
2 |                          ____ _   __ __ ___                          |
3 |                         |__  / \ / / . \ . \                         |
4 |                           / / \ V /|  _/  _/                         |
5 |                          / /__ | | | | | |                           |
6 |                         /_____||_| |_| |_|                           |
7 |                                                                      |
8 \---------------------------------------------------------------------*/
9 /** \file zypp/media/CredentialFileReader.h
10  *
11  */
12 #ifndef ZYPP_MEDIA_CREDENTIALFILEREADER_H
13 #define ZYPP_MEDIA_CREDENTIALFILEREADER_H
14
15 #include "zypp/base/Function.h"
16 #include "zypp/Url.h"
17 #include "zypp/Pathname.h"
18
19 #include "zypp/media/MediaUserAuth.h"
20
21 ///////////////////////////////////////////////////////////////////
22 namespace zypp
23 {
24   ///////////////////////////////////////////////////////////////////
25   namespace media
26   {
27     //////////////////////////////////////////////////////////////////////
28     /// \class CredentialFileReader
29     /// \brief Parse credentials files and catalogs
30     class CredentialFileReader
31     {
32     public:
33       /** Callback invoked for each entry found in the file.
34        * Return \c false to abort parsing.
35        */
36       typedef function<bool(AuthData_Ptr &)> ProcessCredentials;
37
38       CredentialFileReader( const Pathname & crfile_r, const ProcessCredentials & callback_r );
39       ~CredentialFileReader();
40     private:
41       ProcessCredentials _callback;
42     };
43     //////////////////////////////////////////////////////////////////////
44
45   } // namespace media
46   ///////////////////////////////////////////////////////////////////
47 } // namespace zypp
48 ///////////////////////////////////////////////////////////////////
49
50 #endif /* ZYPP_MEDIA_CREDENTIALFILEREADER_H */