libzypp 17.31.23
zypp::media::CredentialManager Class Reference

#include </home/abuild/rpmbuild/BUILD/libzypp-17.31.23/zypp-media/auth/credentialmanager.h>

Classes

struct  Impl
 

Public Types

typedef std::set< AuthData_Ptr, AuthDataComparatorCredentialSet
 
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.
 
time_t timestampForCredDatabase (const zypp::Url &url)
 
CredentialIterator credsGlobalBegin () const
 
CredentialIterator credsGlobalEnd () const
 
CredentialSize credsGlobalSize () const
 
bool credsGlobalEmpty () const
 
CredentialIterator credsUserBegin () const
 
CredentialIterator credsUserEnd () const
 
CredentialSize credsUserSize () const
 
bool credsUserEmpty () const
 

Static Public Member Functions

static AuthData_Ptr findIn (const CredentialManager::CredentialSet &set, const Url &url, url::ViewOption vopt)
 

Private Attributes

RW_pointer< Impl_pimpl
 

Detailed Description

Todo:

better method names

delete(AuthData) method

Definition at line 62 of file credentialmanager.h.

Member Typedef Documentation

◆ CredentialSet

◆ CredentialSize

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

Definition at line 66 of file credentialmanager.h.

◆ CredentialIterator

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

Definition at line 67 of file credentialmanager.h.

Constructor & Destructor Documentation

◆ CredentialManager()

zypp::media::CredentialManager::CredentialManager ( const CredManagerOptions opts = CredManagerOptions())

Definition at line 322 of file credentialmanager.cc.

◆ ~CredentialManager()

zypp::media::CredentialManager::~CredentialManager ( )
inline

Definition at line 72 of file credentialmanager.h.

Member Function Documentation

◆ getCred()

AuthData_Ptr zypp::media::CredentialManager::getCred ( const Url url)

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 327 of file credentialmanager.cc.

◆ getCredFromFile()

AuthData_Ptr zypp::media::CredentialManager::getCredFromFile ( const Pathname file)

Read credentials from a file.

Definition at line 336 of file credentialmanager.cc.

◆ addGlobalCred()

void zypp::media::CredentialManager::addGlobalCred ( const AuthData cred)

Add new global credentials.

Definition at line 370 of file credentialmanager.cc.

◆ addUserCred()

void zypp::media::CredentialManager::addUserCred ( const AuthData cred)

Add new user credentials.

Definition at line 389 of file credentialmanager.cc.

◆ addCred()

void zypp::media::CredentialManager::addCred ( const AuthData cred)

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 340 of file credentialmanager.cc.

◆ save()

void zypp::media::CredentialManager::save ( )

Saves any unsaved credentials added via addUserCred() or addGlobalCred() methods.

Definition at line 408 of file credentialmanager.cc.

◆ saveInGlobal()

void zypp::media::CredentialManager::saveInGlobal ( const AuthData cred)

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 419 of file credentialmanager.cc.

◆ saveInUser()

void zypp::media::CredentialManager::saveInUser ( const AuthData cred)

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 426 of file credentialmanager.cc.

◆ saveInFile()

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 433 of file credentialmanager.cc.

◆ clearAll()

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

Remove all global or user credentials from memory and disk.

Parameters
globalWhether to remove global or user credentials.

Definition at line 456 of file credentialmanager.cc.

◆ findIn()

AuthData_Ptr zypp::media::CredentialManager::findIn ( const CredentialManager::CredentialSet set,
const Url url,
url::ViewOption  vopt 
)
static

Helper function to find a matching AuthData instance in a CredentialSet

Definition at line 182 of file credentialmanager.cc.

◆ timestampForCredDatabase()

time_t zypp::media::CredentialManager::timestampForCredDatabase ( const zypp::Url url)

Returns the timestamp of the database the given URL creds would be stored

Definition at line 353 of file credentialmanager.cc.

◆ credsGlobalBegin()

CredentialManager::CredentialIterator zypp::media::CredentialManager::credsGlobalBegin ( ) const

Definition at line 475 of file credentialmanager.cc.

◆ credsGlobalEnd()

CredentialManager::CredentialIterator zypp::media::CredentialManager::credsGlobalEnd ( ) const

Definition at line 478 of file credentialmanager.cc.

◆ credsGlobalSize()

CredentialManager::CredentialSize zypp::media::CredentialManager::credsGlobalSize ( ) const

Definition at line 481 of file credentialmanager.cc.

◆ credsGlobalEmpty()

bool zypp::media::CredentialManager::credsGlobalEmpty ( ) const

Definition at line 484 of file credentialmanager.cc.

◆ credsUserBegin()

CredentialManager::CredentialIterator zypp::media::CredentialManager::credsUserBegin ( ) const

Definition at line 488 of file credentialmanager.cc.

◆ credsUserEnd()

CredentialManager::CredentialIterator zypp::media::CredentialManager::credsUserEnd ( ) const

Definition at line 491 of file credentialmanager.cc.

◆ credsUserSize()

CredentialManager::CredentialSize zypp::media::CredentialManager::credsUserSize ( ) const

Definition at line 494 of file credentialmanager.cc.

◆ credsUserEmpty()

bool zypp::media::CredentialManager::credsUserEmpty ( ) const

Definition at line 497 of file credentialmanager.cc.

Member Data Documentation

◆ _pimpl

RW_pointer<Impl> zypp::media::CredentialManager::_pimpl
private

Definition at line 183 of file credentialmanager.h.


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