GpgFrontend Project A Free, Powerful, Easy-to-Use, Compact, Cross-Platform, and Installation-Free OpenPGP(pgp) Crypto Tool.

Public Member Functions | Private Member Functions | Private Attributes | List of all members
GpgFrontend::DataObjectOperator Class Reference
Inheritance diagram for GpgFrontend::DataObjectOperator:
Collaboration diagram for GpgFrontend::DataObjectOperator:

## Public Member Functions
| DataObjectOperator (int channel=SingletonFunctionObject::GetDefaultChannel())
| DataObjectOperator constructor. More...
std::string | SaveDataObj (const std::string &_key, const nlohmann::json &value)
std::optional< nlohmann::json > | GetDataObject (const std::string &_key)
std::optional< nlohmann::json > | GetDataObjectByRef (const std::string &_ref)
Public Member Functions inherited from GpgFrontend::SingletonFunctionObject< DataObjectOperator >
int | GetChannel () const
| Get the Channel object. More...
| SingletonFunctionObject (DataObjectOperator &&)=delete
| Construct a new Singleton Function Object object. More...
| SingletonFunctionObject (const DataObjectOperator &)=delete
| Construct a new Singleton Function Object object. More...
void | operator= (const DataObjectOperator &)=delete

## Private Member Functions
void | init_app_secure_key ()
| init the secure key of application data object More...

## Private Attributes
GlobalSettingStation & | global_setting_station_
| GlobalSettingStation. More...
std::filesystem::path | app_secure_path_
| Where sensitive information is stored. More...
std::filesystem::path | app_secure_key_path_
| Where the key of data object is stored. More...
std::filesystem::path | app_data_objs_path_
std::random_device | rd_
| Random device.
std::mt19937 | mt_ = std::mt19937(rd_())
| Mersenne twister.
QByteArray | hash_key_
| Hash key.

## Additional Inherited Members
Static Public Member Functions inherited from GpgFrontend::SingletonFunctionObject< DataObjectOperator >
static DataObjectOperator & | GetInstance (int channel=GpgFrontend::GPGFRONTEND_DEFAULT_CHANNEL)
| Get the Instance object. More...
static DataObjectOperator & | CreateInstance (int channel, std::function< std::unique_ptr< DataObjectOperator >(void)> factory)
| Create a Instance object. More...
static DataObjectOperator & | CreateInstance (int channel, std::unique_ptr< DataObjectOperator > p_obj=nullptr)
| Create a Instance object. More...
static DataObjectOperator & | ReleaseChannel (int channel)
static int | GetDefaultChannel ()
| Get the Default Channel object. More...
Protected Member Functions inherited from GpgFrontend::SingletonFunctionObject< DataObjectOperator >
| 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...
void | SetChannel (int channel)
| Set the Channel object. More...

## Constructor & Destructor Documentation

## ◆ DataObjectOperator()

GpgFrontend::DataObjectOperator::DataObjectOperator | ( | int | channel = `SingletonFunctionObject::GetDefaultChannel()` | ) |
| explicit

DataObjectOperator constructor.

Parameters

  channel | channel

References app_data_objs_path_, app_secure_key_path_, app_secure_path_, hash_key_, init_app_secure_key(), and GpgFrontend::FileOperator::ReadFileStd().

## Member Function Documentation

## ◆ init_app_secure_key()

void GpgFrontend::DataObjectOperator::init_app_secure_key | ( |  | ) |
| private

init the secure key of application data object

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

References app_secure_key_path_, GpgFrontend::SingletonFunctionObject< PassphraseGenerator >::GetInstance(), and GpgFrontend::FileOperator::WriteFileStd().

Referenced by DataObjectOperator().

## Member Data Documentation

## ◆ app_data_objs_path_

std::filesystem::path GpgFrontend::DataObjectOperator::app_data_objs_path_
| private

Initial value:
=
global_setting_station_.GetAppDataPath() / "data_objs"

Where data object is stored

Referenced by DataObjectOperator().

## ◆ app_secure_key_path_

std::filesystem::path GpgFrontend::DataObjectOperator::app_secure_key_path_
| private

Initial value:
=
app_secure_path_ / "app.key"

Where the key of data object is stored.

Referenced by DataObjectOperator(), and init_app_secure_key().

## ◆ app_secure_path_

std::filesystem::path GpgFrontend::DataObjectOperator::app_secure_path_
| private

Initial value:
=
global_setting_station_.GetAppConfigPath() /
"secure"

Where sensitive information is stored.

Referenced by DataObjectOperator().

## ◆ global_setting_station_

GlobalSettingStation& GpgFrontend::DataObjectOperator::global_setting_station_
| private

Initial value:
=
GlobalSettingStation::GetInstance()

GlobalSettingStation.

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

- src/core/function/DataObjectOperator.h
- src/core/function/DataObjectOperator.cpp

GpgFrontend::SingletonFunctionObject< GlobalSettingStation >::GetInstance
static GlobalSettingStation & GetInstance(int channel=GpgFrontend::GPGFRONTEND_DEFAULT_CHANNEL)
Get the Instance object.
Definition: GpgFunctionObject.h:57
GpgFrontend::DataObjectOperator::app_secure_path_
std::filesystem::path app_secure_path_
Where sensitive information is stored.
Definition: DataObjectOperator.h:66
GpgFrontend::DataObjectOperator::global_setting_station_
GlobalSettingStation & global_setting_station_
GlobalSettingStation.
Definition: DataObjectOperator.h:64