GpgFrontend Project
A Free, Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP(pgp) Crypto Tool.
|
Public Member Functions | |
GpgKeyGetter (int channel=SingletonFunctionObject::GetDefaultChannel()) | |
Construct a new Gpg Key Getter object. More... | |
GpgKey | GetKey (const std::string &id, bool use_cache=true) |
Get the Key object. More... | |
KeyListPtr | GetKeys (const KeyIdArgsListPtr &ids) |
Get the Keys object. More... | |
GpgKey | GetPubkey (const std::string &id, bool use_cache=true) |
Get the Pubkey object. More... | |
KeyLinkListPtr | FetchKey () |
Get all the keys by receiving a linked list. More... | |
void | FlushKeyCache () |
flush the keys in the cache More... | |
KeyListPtr | GetKeysCopy (const KeyListPtr &keys) |
Get the Keys Copy object. More... | |
KeyLinkListPtr | GetKeysCopy (const KeyLinkListPtr &keys) |
Get the Keys Copy object. More... | |
Public Member Functions inherited from GpgFrontend::SingletonFunctionObject< GpgKeyGetter > | |
SingletonFunctionObject (const SingletonFunctionObject< GpgKeyGetter > &)=delete | |
prohibit copy More... | |
SingletonFunctionObject (GpgKeyGetter &&)=delete | |
Construct a new Singleton Function Object object. More... | |
SingletonFunctionObject (const GpgKeyGetter &)=delete | |
Construct a new Singleton Function Object object. More... | |
SingletonFunctionObject & | operator= (const SingletonFunctionObject< GpgKeyGetter > &)=delete |
prohibit copy More... | |
void | operator= (const GpgKeyGetter &)=delete |
int | GetChannel () const |
Get the Channel object. More... | |
Public Member Functions inherited from GpgFrontend::ChannelObject | |
ChannelObject () noexcept | |
Construct a new Default Channel Object object. More... | |
ChannelObject (int channel) | |
Construct a new Channel Object object. More... | |
int | GetChannel () const |
Get the Channel object. More... | |
void | SetChannel (int channel) |
Set the Channel object. More... | |
Private Member Functions | |
GpgKey | get_key_in_cache (const std::string &id) |
Get the Key object. More... | |
Private Attributes | |
GpgContext & | ctx_ |
Get the gpgme context object. More... | |
std::mutex | ctx_mutex_ |
shared mutex for the keys cache More... | |
std::map< std::string, GpgKey > | keys_cache_ |
cache the keys with key id More... | |
std::mutex | keys_cache_mutex_ |
shared mutex for the keys cache More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from GpgFrontend::SingletonFunctionObject< GpgKeyGetter > | |
static GpgKeyGetter & | GetInstance (int channel=GpgFrontend::GPGFRONTEND_DEFAULT_CHANNEL) |
Get the Instance object. More... | |
static GpgKeyGetter & | CreateInstance (int channel, std::function< std::unique_ptr< ChannelObject >(void)> factory) |
Create a Instance object. More... | |
static void | ReleaseChannel (int channel) |
static int | GetDefaultChannel () |
Get the Default Channel object. More... | |
static std::vector< int > | GetAllChannelId () |
Get all the channel ids. More... | |
Static Public Member Functions inherited from GpgFrontend::ChannelObject | |
static int | GetDefaultChannel () |
Get the Default Channel object. More... | |
Protected Member Functions inherited from GpgFrontend::SingletonFunctionObject< GpgKeyGetter > | |
SingletonFunctionObject ()=default | |
Construct a new Singleton Function Object object. More... | |
SingletonFunctionObject (int channel) | |
Construct a new Singleton Function Object object. More... | |
virtual | ~SingletonFunctionObject ()=default |
Destroy the Singleton Function Object object. More... | |
|
explicit |
Construct a new Gpg Key Getter object.
channel | Copyright (C) 2021 Saturneric |
This file is part of GpgFrontend.
GpgFrontend is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
GpgFrontend is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with GpgFrontend. If not, see https://www.gnu.org/licenses/.
The initial version of the source code is inherited from the gpg4usb project, which is under GPL-3.0-or-later.
All the source code of GpgFrontend was modified and released by Saturnericeric@ starting on May 12, 2021. bktu s.com
SPDX-License-Identifier: GPL-3.0-or-later
GpgFrontend::KeyLinkListPtr GpgFrontend::GpgKeyGetter::FetchKey | ( | ) |
Get all the keys by receiving a linked list.
Referenced by GpgFrontend::UI::KeyTable::Refresh().
void GpgFrontend::GpgKeyGetter::FlushKeyCache | ( | ) |
flush the keys in the cache
References GpgFrontend::check_gpg_error_2_err_code().
Referenced by GpgFrontend::UI::CommonUtils::slot_update_key_status().
|
private |
GpgFrontend::GpgKey GpgFrontend::GpgKeyGetter::GetKey | ( | const std::string & | id, |
bool | use_cache = true |
||
) |
Get the Key object.
fpr |
Referenced by GpgFrontend::UI::VerifyKeyDetailBox::create_key_info_grid(), GpgFrontend::UI::KeyImportDetailDialog::create_keys_table(), GpgFrontend::UI::KeyMgmt::delete_keys_with_warning(), GpgFrontend::GpgKeyOpera::DeleteKeys(), GpgFrontend::GpgDecryptResultAnalyse::print_recipient(), GpgFrontend::GpgVerifyResultAnalyse::print_signer(), GpgFrontend::UI::MainWindow::slot_copy_mail_address_to_clipboard(), GpgFrontend::UI::KeyList::slot_double_clicked(), and GpgFrontend::UI::MainWindow::slot_show_key_details().
GpgFrontend::KeyListPtr GpgFrontend::GpgKeyGetter::GetKeys | ( | const KeyIdArgsListPtr & | ids | ) |
Get the Keys object.
ids |
Referenced by GpgFrontend::GpgKeyImportExporter::ExportKeys(), GpgFrontend::UI::MainWindow::slot_encrypt(), GpgFrontend::UI::MainWindow::slot_encrypt_sign(), GpgFrontend::UI::MainWindow::slot_sign(), GpgFrontend::UI::KeyUIDSignDialog::slot_sign_key(), GpgFrontend::UI::MainWindow::SlotFileEncrypt(), GpgFrontend::UI::MainWindow::SlotFileEncryptSign(), and GpgFrontend::UI::MainWindow::SlotFileSign().
GpgFrontend::KeyLinkListPtr GpgFrontend::GpgKeyGetter::GetKeysCopy | ( | const KeyLinkListPtr & | keys | ) |
Get the Keys Copy object.
keys |
GpgFrontend::KeyListPtr GpgFrontend::GpgKeyGetter::GetKeysCopy | ( | const KeyListPtr & | keys | ) |
Get the Keys Copy object.
keys |
GpgFrontend::GpgKey GpgFrontend::GpgKeyGetter::GetPubkey | ( | const std::string & | id, |
bool | use_cache = true |
||
) |
|
private |
Get the gpgme context object.
|
mutableprivate |
shared mutex for the keys cache
|
private |
cache the keys with key id
|
mutableprivate |
shared mutex for the keys cache