libzypp  17.14.0
CredentialManager.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_MEDIA_CREDENTIALMANAGER_H
13 #define ZYPP_MEDIA_CREDENTIALMANAGER_H
14 
15 #include <set>
16 
17 #include "zypp/Pathname.h"
19 
21 namespace zypp
22 {
23 
24  class Url;
25 
27  namespace media
28  {
29 
30 
32  //
33  // CLASS NAME : CredManagerOptions
34  //
39  {
40  CredManagerOptions(const Pathname & rootdir = "");
41 
45  };
47 
48  // comparator for CredentialSet
50  {
51  bool operator()(const AuthData_Ptr & lhs, const AuthData_Ptr & rhs);
52  };
53 
55  //
56  // CLASS NAME : CredentialManager
57  //
63  {
64  public:
65  typedef std::set<AuthData_Ptr, AuthDataComparator> CredentialSet;
67  typedef CredentialSet::const_iterator CredentialIterator;
68 
69 
71 
73  {}
74 
75  public:
87  AuthData_Ptr getCred(const Url & url);
88 
93 
97  void addGlobalCred(const AuthData & cred);
98 
102  void addUserCred(const AuthData & cred);
103 
118  void addCred(const AuthData & cred);
119 
124  void save();
125 
133  void saveInGlobal(const AuthData & cred);
134 
142  void saveInUser(const AuthData & cred);
143 
152  void saveInFile(const AuthData &, const Pathname & credFile);
153 
159  void clearAll(bool global = false);
160 
161 
165  bool credsGlobalEmpty() const;
166 
170  bool credsUserEmpty() const;
171 
172  struct Impl;
173  private:
175  };
177 
178 
180  } // media
183 } // zypp
185 
186 #endif /* ZYPP_MEDIA_CREDENTIALMANAGER_H */
187 
CredentialIterator credsGlobalEnd() const
void saveInFile(const AuthData &, const Pathname &credFile)
Saves given cred to user specified credentials file.
void save()
Saves any unsaved credentials added via addUserCred() or addGlobalCred() methods.
void addGlobalCred(const AuthData &cred)
Add new global credentials.
CredentialSet::size_type CredentialSize
bool operator()(const AuthData_Ptr &lhs, const AuthData_Ptr &rhs)
AuthData_Ptr getCred(const Url &url)
Get credentials for the specified url.
Url url
Definition: MediaCurl.cc:180
void saveInGlobal(const AuthData &cred)
Saves given cred to global credentials file.
CredManagerOptions(const Pathname &rootdir="")
CredentialSize credsUserSize() const
void addUserCred(const AuthData &cred)
Add new user credentials.
CredentialIterator credsGlobalBegin() const
Class for handling media authentication data.
Definition: MediaUserAuth.h:30
SolvableIdType size_type
Definition: PoolMember.h:126
shared_ptr< AuthData > AuthData_Ptr
Definition: MediaUserAuth.h:69
std::set< AuthData_Ptr, AuthDataComparator > CredentialSet
CredentialIterator credsUserBegin() const
CredentialSet::const_iterator CredentialIterator
CredentialManager(const CredManagerOptions &opts=CredManagerOptions())
void clearAll(bool global=false)
Remove all global or user credentials from memory and disk.
CredentialIterator credsUserEnd() const
AuthData_Ptr getCredFromFile(const Pathname &file)
Read credentials from a file.
CredentialSize credsGlobalSize() const
void addCred(const AuthData &cred)
Add new credentials with user callbacks.
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:1
Convenience interface for handling authentication data of media user.
Url manipulation class.
Definition: Url.h:87
void saveInUser(const AuthData &cred)
Saves given cred to user's credentials file.