libzypp  9.1.2
Classes | Public Types | Public Member Functions | Private Attributes
zypp::media::CredentialManager Class Reference

#include <CredentialManager.h>

List of all members.

Classes

struct  Impl

Public Types

typedef std::set< AuthData_Ptr,
AuthDataComparator
CredentialSet
typedef CredentialSet::size_type CredentialSize
typedef
CredentialSet::const_iterator 
CredentialIterator

Public Member Functions

 CredentialManager (const CredManagerOptions &opts=CredManagerOptions())
 ~CredentialManager ()
AuthData_Ptr getCred (const Url &url)
 Get credentials for the specified url.
AuthData_Ptr getCredFromFile (const Pathname &file)
 Read credentials from a file.
void addGlobalCred (const AuthData &cred)
 Add new global credentials.
void addUserCred (const AuthData &cred)
 Add new user credentials.
void addCred (const AuthData &cred)
 Add new credentials with user callbacks.
void save ()
 Saves any unsaved credentials added via addUserCred() or addGlobalCred() methods.
void saveInGlobal (const AuthData &cred)
 Saves given cred to global credentials file.
void saveInUser (const AuthData &cred)
 Saves given cred to user's credentials file.
void saveInFile (const AuthData &, const Pathname &credFile)
 Saves given cred to user specified credentials file.
void clearAll (bool global=false)
 Remove all global or user credentials from memory and disk.
CredentialIterator credsGlobalBegin () const
CredentialIterator credsGlobalEnd () const
CredentialSize credsGlobalSize () const
bool credsGlobalEmpty () const
CredentialIterator credsUserBegin () const
CredentialIterator credsUserEnd () const
CredentialSize credsUserSize () const
bool credsUserEmpty () const

Private Attributes

RW_pointer< Impl_pimpl

Detailed Description

Todo:

better method names

delete(AuthData) method

Definition at line 63 of file CredentialManager.h.


Member Typedef Documentation

Definition at line 66 of file CredentialManager.h.

typedef CredentialSet::size_type zypp::media::CredentialManager::CredentialSize

Definition at line 67 of file CredentialManager.h.

typedef CredentialSet::const_iterator zypp::media::CredentialManager::CredentialIterator

Definition at line 68 of file CredentialManager.h.


Constructor & Destructor Documentation

Definition at line 293 of file CredentialManager.cc.

Definition at line 73 of file CredentialManager.h.


Member Function Documentation

Get credentials for the specified url.

If the URL contains also username, it will be used to find the match for this user (in case mutliple are available).

Parameters:
urlURL to find credentials for.
Returns:
Pointer to retrieved authentication data on success or an empty AuthData_Ptr otherwise.
Todo:
return a copy instead?

Definition at line 298 of file CredentialManager.cc.

References _pimpl, zypp::media::CredentialManager::Impl::getCred(), zypp::media::CredentialManager::Impl::getCredFromFile(), and zypp::Url::getQueryParam().

Referenced by zypp::media::MediaCIFS::attachTo(), zypp::media::MediaCIFS::authenticate(), and zypp::media::MediaCurl::authenticate().

Read credentials from a file.

Definition at line 307 of file CredentialManager.cc.

References _pimpl, and zypp::media::CredentialManager::Impl::getCredFromFile().

Add new credentials with user callbacks.

If the cred->url() contains 'credentials' query parameter, the credentials will be automatically saved to the specified file using the saveInFile() method.

Otherwise a callback will be called asking whether to save to custom file, or to global or user's credentials catalog.

Todo:
Currently no callback is called, credentials are automatically saved to user's credentials.cat if no 'credentials' parameter has been specified
Todo:
ask user where to store these creds. saving to user creds for now

Definition at line 311 of file CredentialManager.cc.

References addUserCred(), zypp::Url::getQueryParam(), saveInFile(), and zypp::media::AuthData::url().

Referenced by zypp::media::MediaCIFS::authenticate(), and zypp::media::MediaCurl::authenticate().

Saves given cred to global credentials file.

Note:
Use this method to add just one piece of credentials. To add multiple items at once, use addGlobalCred() followed by save()

Definition at line 365 of file CredentialManager.cc.

References addGlobalCred(), and save().

Saves given cred to user's credentials file.

Note:
Use this method to add just one piece of credentials. To add multiple items at once, use addUserCred() followed by save()

Definition at line 372 of file CredentialManager.cc.

References addUserCred(), and save().

Referenced by zypp::RepoManager::addRepository(), and zypp::RepoManager::addService().

void zypp::media::CredentialManager::saveInFile ( const AuthData cred,
const Pathname &  credFile 
)

Saves given cred to user specified credentials file.

If the credFile path is absolute, it will be saved at that precise location. If credFile is just a filename, it will be saved in CredManagerOptions::customCredFileDir. Otherwise the current working directory will be prepended to the file path.

Todo:
figure out the reason(?), call back to user

Definition at line 379 of file CredentialManager.cc.

References zypp::media::CredentialManager::Impl::_options, _pimpl, zypp::media::CredManagerOptions::customCredFileDir, ERR, and zypp::media::save_creds_in_file().

Referenced by addCred().

void zypp::media::CredentialManager::clearAll ( bool  global = false)

Member Data Documentation


The documentation for this class was generated from the following files: