GpgFrontend::GpgKeyOpera Class Reference
Inheritance diagram for GpgFrontend::GpgKeyOpera:
Collaboration diagram for GpgFrontend::GpgKeyOpera:

## Public Member Functions

| GpgKeyOpera (int channel=SingletonFunctionObject::GetDefaultChannel())
| Construct a new Gpg Key Opera object. More...
void | DeleteKeys (KeyIdArgsListPtr key_ids)
void | DeleteKey (const KeyId &key_id)
GpgError | SetExpire (const GpgKey &key, const SubkeyId &subkey_fpr, std::unique_ptr< boost::posix_time::ptime > &expires)
| Set the Expire object. More...
GpgFrontend::GpgError | ModifyPassword (const GpgKey &key)
GpgFrontend::GpgError | ModifyTOFUPolicy (const GpgKey &key, gpgme_tofu_policy_t tofu_policy)
GpgFrontend::GpgError | GenerateKey (const std::unique_ptr< GenKeyInfo > &params, GpgGenKeyResult &result)
GpgFrontend::GpgError | GenerateSubkey (const GpgKey &key, const std::unique_ptr< GenKeyInfo > &params)
Public Member Functions inherited from GpgFrontend::SingletonFunctionObject< GpgKeyOpera >
| SingletonFunctionObject (const SingletonFunctionObject< GpgKeyOpera > &)=delete
| prohibit copy More...
| SingletonFunctionObject (GpgKeyOpera &&)=delete
| Construct a new Singleton Function Object object. More...
| SingletonFunctionObject (const GpgKeyOpera &)=delete
| Construct a new Singleton Function Object object. More...
SingletonFunctionObject & | operator= (const SingletonFunctionObject< GpgKeyOpera > &)=delete
| prohibit copy More...
void | operator= (const GpgKeyOpera &)=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...

## Static Public Member Functions

static void | GenerateRevokeCert (const GpgKey &key, const std::string &output_file_name)
Static Public Member Functions inherited from GpgFrontend::SingletonFunctionObject< GpgKeyOpera >
static GpgKeyOpera & | GetInstance (int channel=GpgFrontend::GPGFRONTEND_DEFAULT_CHANNEL)
| Get the Instance object. More...
static GpgKeyOpera & | 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...

## Private Attributes

GpgContext & | ctx_

## Additional Inherited Members

Protected Member Functions inherited from GpgFrontend::SingletonFunctionObject< GpgKeyOpera >
| 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...

## Constructor & Destructor Documentation

## GpgKeyOpera()

GpgFrontend::GpgKeyOpera::GpgKeyOpera | ( | int | channel = `SingletonFunctionObject::GetDefaultChannel()` | ) |

explicit

Construct a new Gpg Key Opera object.

Parameters

  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@.nosp@m.bktu.nosp@m.s.com starting on May 12, 2021.

SPDX-License-Identifier: GPL-3.0-or-later

## Member Function Documentation

## DeleteKey()

void GpgFrontend::GpgKeyOpera::DeleteKey | ( | const KeyId & | key_id | ) |

Parameters

  key_id |

## DeleteKeys()

void GpgFrontend::GpgKeyOpera::DeleteKeys | ( | GpgFrontend::KeyIdArgsListPtr | key_ids | ) |

Parameters

  key_ids | Delete keys
  uidList | key ids

References GpgFrontend::check_gpg_error(), GpgFrontend::SingletonFunctionObject< GpgKeyGetter >::GetInstance(), and GpgFrontend::GpgKeyGetter::GetKey().

Referenced by GpgFrontend::UI::KeyMgmt::delete_keys_with_warning().

## GenerateKey()

GpgFrontend::GpgError GpgFrontend::GpgKeyOpera::GenerateKey | ( | const std::unique_ptr< GenKeyInfo > & | params,
|  | GpgGenKeyResult & | result
| ) |  |

Parameters

  params |
  result |

Returns
  GpgFrontend::GpgError

Generate a new key pair

Parameters

  params | key generation args

Returns
  error information

References GpgFrontend::_new_result(), GpgFrontend::check_gpg_error(), GpgFrontend::check_gpg_error_2_err_code(), GpgFrontend::GenKeyInfo::GetAlgo(), GpgFrontend::GenKeyInfo::GetKeySizeStr(), and GpgFrontend::GenKeyInfo::GetUserid().

Referenced by GpgFrontend::UI::KeyGenDialog::slot_key_gen_accept().

## GenerateRevokeCert()

void GpgFrontend::GpgKeyOpera::GenerateRevokeCert | ( | const GpgKey & | key,
|  | const std::string & | output_file_name
| ) |  |

static

Parameters

  key |
  output_file_name | Generate revoke cert of a key pair
  key | target key pair
  outputFileName | out file name(path)

Returns
  the process doing this job

References GpgFrontend::GpgCommandExecutor::Execute(), GpgFrontend::GpgKey::GetFingerprint(), and GpgFrontend::SingletonFunctionObject< GpgCommandExecutor >::GetInstance().

## GenerateSubkey()

GpgFrontend::GpgError GpgFrontend::GpgKeyOpera::GenerateSubkey | ( | const GpgKey & | key,
|  | const std::unique_ptr< GenKeyInfo > & | params
| ) |  |

Parameters

  key |
  params |

Returns
  GpgFrontend::GpgError

Generate a new subkey of a certain key pair

Parameters

  key | target key pair
  params | opera args

Returns
  error info

References GpgFrontend::check_gpg_error(), GpgFrontend::GenKeyInfo::GetAlgo(), GpgFrontend::GpgKey::GetId(), GpgFrontend::GenKeyInfo::GetKeySizeStr(), and GpgFrontend::GenKeyInfo::IsSubKey().

Referenced by GpgFrontend::UI::SubkeyGenerateDialog::slot_key_gen_accept().

## ModifyPassword()

GpgFrontend::GpgError GpgFrontend::GpgKeyOpera::ModifyPassword | ( | const GpgKey & | key | ) |

Parameters

  key |

Returns
  GpgFrontend::GpgError

References GpgFrontend::check_gpg_error().

## ModifyTOFUPolicy()

GpgFrontend::GpgError GpgFrontend::GpgKeyOpera::ModifyTOFUPolicy | ( | const GpgKey & | key,
|  | gpgme_tofu_policy_t | tofu_policy
| ) |  |

Parameters

  key |
  tofu_policy |

Returns
  GpgFrontend::GpgError

References GpgFrontend::check_gpg_error().

## SetExpire()

GpgFrontend::GpgError GpgFrontend::GpgKeyOpera::SetExpire | ( | const GpgKey & | key,
|  | const SubkeyId & | subkey_fpr,
|  | std::unique_ptr< boost::posix_time::ptime > & | expires
| ) |  |

Set the Expire object.

Parameters

  key |
  subkey_fpr |
  expires |

Returns
  GpgError

Set the expire date and time of a key pair(actually the primary key) or subkey

Parameters

  key | target key pair
  subkey | null if primary key
  expires | date and time

Returns
  if successful

References GpgFrontend::GpgKey::GetFingerprint(), and GpgFrontend::GpgKey::GetId().

## Member Data Documentation

## ctx_

GpgContext& GpgFrontend::GpgKeyOpera::ctx_

private

Initial value:
=
GpgContext::GetInstance(SingletonFunctionObject::GetChannel())

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

- src/core/function/gpg/GpgKeyOpera.h
- src/core/function/gpg/GpgKeyOpera.cpp

GpgFrontend::SingletonFunctionObject< GpgContext >::GetInstance
static GpgContext & GetInstance(int channel=GpgFrontend::GPGFRONTEND_DEFAULT_CHANNEL)
Get the Instance object.
Definition: GpgFunctionObject.h:170
GpgFrontend::SingletonFunctionObject::GetChannel
int GetChannel() const
Get the Channel object.
Definition: GpgFunctionObject.h:239