GpgFrontend-Doxygen/docs/latex/classGpgFrontend_1_1DataObjectOperator.tex

190 lines
14 KiB
TeX
Raw Normal View History

2022-05-08 19:59:26 +00:00
\hypertarget{classGpgFrontend_1_1DataObjectOperator}{}\doxysection{Gpg\+Frontend\+::Data\+Object\+Operator Class Reference}
\label{classGpgFrontend_1_1DataObjectOperator}\index{GpgFrontend::DataObjectOperator@{GpgFrontend::DataObjectOperator}}
Inheritance diagram for Gpg\+Frontend\+::Data\+Object\+Operator\+:
% FIG 0
Collaboration diagram for Gpg\+Frontend\+::Data\+Object\+Operator\+:
% FIG 1
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_a3a8ae5c36fec01d0d5c3e5f9aed457a6}{Data\+Object\+Operator}} (int channel=\mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a50e2b3794d6553f4231eaec72d9d0a50}{Singleton\+Function\+Object\+::\+Get\+Default\+Channel}}())
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator}{Data\+Object\+Operator}} constructor. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classGpgFrontend_1_1DataObjectOperator_a4bc3dbecd688c2ac1e01624a4d7b65b9}\label{classGpgFrontend_1_1DataObjectOperator_a4bc3dbecd688c2ac1e01624a4d7b65b9}}
std\+::string {\bfseries Save\+Data\+Obj} (const std\+::string \&\+\_\+key, const nlohmann\+::json \&value)
\item
\mbox{\Hypertarget{classGpgFrontend_1_1DataObjectOperator_a6190acb6a4b9dc4350cb346fb4a03a74}\label{classGpgFrontend_1_1DataObjectOperator_a6190acb6a4b9dc4350cb346fb4a03a74}}
std\+::optional$<$ nlohmann\+::json $>$ {\bfseries Get\+Data\+Object} (const std\+::string \&\+\_\+key)
\item
\mbox{\Hypertarget{classGpgFrontend_1_1DataObjectOperator_a1f5c8469197b382a8c0974d64114dfcd}\label{classGpgFrontend_1_1DataObjectOperator_a1f5c8469197b382a8c0974d64114dfcd}}
std\+::optional$<$ nlohmann\+::json $>$ {\bfseries Get\+Data\+Object\+By\+Ref} (const std\+::string \&\+\_\+ref)
\end{DoxyCompactItemize}
\doxysubsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item
void \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_a6b357780482f0e0c021ad55a81eb37cf}{init\+\_\+app\+\_\+secure\+\_\+key}} ()
\begin{DoxyCompactList}\small\item\em init the secure key of application data object \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item
\mbox{\hyperlink{classGpgFrontend_1_1GlobalSettingStation}{Global\+Setting\+Station}} \& \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_a3c195f8e4c30d95be14a6d43e9282601}{global\+\_\+setting\+\_\+station\+\_\+}}
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{classGpgFrontend_1_1GlobalSettingStation}{Global\+Setting\+Station}}. \end{DoxyCompactList}\item
std\+::filesystem\+::path \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_a6d38d25c91c33c48d083ec4de051108a}{app\+\_\+secure\+\_\+path\+\_\+}}
\begin{DoxyCompactList}\small\item\em Where sensitive information is stored. \end{DoxyCompactList}\item
std\+::filesystem\+::path \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_a56c0c031cd327207260c73d1885dbdca}{app\+\_\+secure\+\_\+key\+\_\+path\+\_\+}}
\begin{DoxyCompactList}\small\item\em Where the key of data object is stored. \end{DoxyCompactList}\item
std\+::filesystem\+::path \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_ae6762d4f0f5ca2e83f7c1508cd25cc21}{app\+\_\+data\+\_\+objs\+\_\+path\+\_\+}}
\item
\mbox{\Hypertarget{classGpgFrontend_1_1DataObjectOperator_a24c9cdbe9256e332ac93d6dc28c76b90}\label{classGpgFrontend_1_1DataObjectOperator_a24c9cdbe9256e332ac93d6dc28c76b90}}
std\+::random\+\_\+device {\bfseries rd\+\_\+}
\begin{DoxyCompactList}\small\item\em Random device. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classGpgFrontend_1_1DataObjectOperator_a9fc92c7d497f2a2057776adfca40e8ca}\label{classGpgFrontend_1_1DataObjectOperator_a9fc92c7d497f2a2057776adfca40e8ca}}
std\+::mt19937 {\bfseries mt\+\_\+} = std\+::mt19937(\mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_a24c9cdbe9256e332ac93d6dc28c76b90}{rd\+\_\+}}())
\begin{DoxyCompactList}\small\item\em Mersenne twister. \end{DoxyCompactList}\item
\mbox{\Hypertarget{classGpgFrontend_1_1DataObjectOperator_ae409c3562c3e08931daa17f5790c508b}\label{classGpgFrontend_1_1DataObjectOperator_ae409c3562c3e08931daa17f5790c508b}}
QByte\+Array {\bfseries hash\+\_\+key\+\_\+}
\begin{DoxyCompactList}\small\item\em Hash key. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}
\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{classGpgFrontend_1_1DataObjectOperator_a3a8ae5c36fec01d0d5c3e5f9aed457a6}\label{classGpgFrontend_1_1DataObjectOperator_a3a8ae5c36fec01d0d5c3e5f9aed457a6}}
\index{GpgFrontend::DataObjectOperator@{GpgFrontend::DataObjectOperator}!DataObjectOperator@{DataObjectOperator}}
\index{DataObjectOperator@{DataObjectOperator}!GpgFrontend::DataObjectOperator@{GpgFrontend::DataObjectOperator}}
\doxysubsubsection{\texorpdfstring{DataObjectOperator()}{DataObjectOperator()}}
{\footnotesize\ttfamily Gpg\+Frontend\+::\+Data\+Object\+Operator\+::\+Data\+Object\+Operator (\begin{DoxyParamCaption}\item[{int}]{channel = {\ttfamily \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a50e2b3794d6553f4231eaec72d9d0a50}{Singleton\+Function\+Object\+::\+Get\+Default\+Channel}}()} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}}
\mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator}{Data\+Object\+Operator}} constructor.
\begin{DoxyParams}{Parameters}
{\em channel} & channel \\
\hline
\end{DoxyParams}
References \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_ae6762d4f0f5ca2e83f7c1508cd25cc21}{app\+\_\+data\+\_\+objs\+\_\+path\+\_\+}}, \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_a56c0c031cd327207260c73d1885dbdca}{app\+\_\+secure\+\_\+key\+\_\+path\+\_\+}}, \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_a6d38d25c91c33c48d083ec4de051108a}{app\+\_\+secure\+\_\+path\+\_\+}}, \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_ae409c3562c3e08931daa17f5790c508b}{hash\+\_\+key\+\_\+}}, \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_a6b357780482f0e0c021ad55a81eb37cf}{init\+\_\+app\+\_\+secure\+\_\+key()}}, and \mbox{\hyperlink{classGpgFrontend_1_1FileOperator_ad4424bce4f22ae75a16c542dfb4ddf0a}{Gpg\+Frontend\+::\+File\+Operator\+::\+Read\+File\+Std()}}.
\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classGpgFrontend_1_1DataObjectOperator_a6b357780482f0e0c021ad55a81eb37cf}\label{classGpgFrontend_1_1DataObjectOperator_a6b357780482f0e0c021ad55a81eb37cf}}
\index{GpgFrontend::DataObjectOperator@{GpgFrontend::DataObjectOperator}!init\_app\_secure\_key@{init\_app\_secure\_key}}
\index{init\_app\_secure\_key@{init\_app\_secure\_key}!GpgFrontend::DataObjectOperator@{GpgFrontend::DataObjectOperator}}
\doxysubsubsection{\texorpdfstring{init\_app\_secure\_key()}{init\_app\_secure\_key()}}
{\footnotesize\ttfamily void Gpg\+Frontend\+::\+Data\+Object\+Operator\+::init\+\_\+app\+\_\+secure\+\_\+key (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}
init the secure key of application data object
Copyright (C) 2021 Saturneric
This file is part of \mbox{\hyperlink{namespaceGpgFrontend}{Gpg\+Frontend}}.
\mbox{\hyperlink{namespaceGpgFrontend}{Gpg\+Frontend}} 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.
\mbox{\hyperlink{namespaceGpgFrontend}{Gpg\+Frontend}} 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 \mbox{\hyperlink{namespaceGpgFrontend}{Gpg\+Frontend}}. If not, see \href{https://www.gnu.org/licenses/}{\texttt{ 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 \mbox{\hyperlink{namespaceGpgFrontend}{Gpg\+Frontend}} was modified and released by Saturneric\href{mailto:eric@bktus.com}{\texttt{ eric@bktus.\+com}} starting on May 12, 2021.
SPDX-\/\+License-\/\+Identifier\+: GPL-\/3.\+0-\/or-\/later
References \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_a56c0c031cd327207260c73d1885dbdca}{app\+\_\+secure\+\_\+key\+\_\+path\+\_\+}}, \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a8a378452876a685af879e04bfa456b6f}{Gpg\+Frontend\+::\+Singleton\+Function\+Object$<$ Passphrase\+Generator $>$\+::\+Get\+Instance()}}, and \mbox{\hyperlink{classGpgFrontend_1_1FileOperator_a51121c94dc32a83d7073fbe7138b603b}{Gpg\+Frontend\+::\+File\+Operator\+::\+Write\+File\+Std()}}.
Referenced by \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_a3a8ae5c36fec01d0d5c3e5f9aed457a6}{Data\+Object\+Operator()}}.
\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{classGpgFrontend_1_1DataObjectOperator_ae6762d4f0f5ca2e83f7c1508cd25cc21}\label{classGpgFrontend_1_1DataObjectOperator_ae6762d4f0f5ca2e83f7c1508cd25cc21}}
\index{GpgFrontend::DataObjectOperator@{GpgFrontend::DataObjectOperator}!app\_data\_objs\_path\_@{app\_data\_objs\_path\_}}
\index{app\_data\_objs\_path\_@{app\_data\_objs\_path\_}!GpgFrontend::DataObjectOperator@{GpgFrontend::DataObjectOperator}}
\doxysubsubsection{\texorpdfstring{app\_data\_objs\_path\_}{app\_data\_objs\_path\_}}
{\footnotesize\ttfamily std\+::filesystem\+::path Gpg\+Frontend\+::\+Data\+Object\+Operator\+::app\+\_\+data\+\_\+objs\+\_\+path\+\_\+\hspace{0.3cm}{\ttfamily [private]}}
{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{=}
\DoxyCodeLine{ \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_a3c195f8e4c30d95be14a6d43e9282601}{global\_setting\_station\_}}.GetAppDataPath() / \textcolor{stringliteral}{"{}data\_objs"{}}}
\end{DoxyCode}
Where data object is stored
Referenced by \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_a3a8ae5c36fec01d0d5c3e5f9aed457a6}{Data\+Object\+Operator()}}.
\mbox{\Hypertarget{classGpgFrontend_1_1DataObjectOperator_a56c0c031cd327207260c73d1885dbdca}\label{classGpgFrontend_1_1DataObjectOperator_a56c0c031cd327207260c73d1885dbdca}}
\index{GpgFrontend::DataObjectOperator@{GpgFrontend::DataObjectOperator}!app\_secure\_key\_path\_@{app\_secure\_key\_path\_}}
\index{app\_secure\_key\_path\_@{app\_secure\_key\_path\_}!GpgFrontend::DataObjectOperator@{GpgFrontend::DataObjectOperator}}
\doxysubsubsection{\texorpdfstring{app\_secure\_key\_path\_}{app\_secure\_key\_path\_}}
{\footnotesize\ttfamily std\+::filesystem\+::path Gpg\+Frontend\+::\+Data\+Object\+Operator\+::app\+\_\+secure\+\_\+key\+\_\+path\+\_\+\hspace{0.3cm}{\ttfamily [private]}}
{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{=}
\DoxyCodeLine{ \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_a6d38d25c91c33c48d083ec4de051108a}{app\_secure\_path\_}} / \textcolor{stringliteral}{"{}app.key"{}}}
\end{DoxyCode}
Where the key of data object is stored.
Referenced by \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_a3a8ae5c36fec01d0d5c3e5f9aed457a6}{Data\+Object\+Operator()}}, and \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_a6b357780482f0e0c021ad55a81eb37cf}{init\+\_\+app\+\_\+secure\+\_\+key()}}.
\mbox{\Hypertarget{classGpgFrontend_1_1DataObjectOperator_a6d38d25c91c33c48d083ec4de051108a}\label{classGpgFrontend_1_1DataObjectOperator_a6d38d25c91c33c48d083ec4de051108a}}
\index{GpgFrontend::DataObjectOperator@{GpgFrontend::DataObjectOperator}!app\_secure\_path\_@{app\_secure\_path\_}}
\index{app\_secure\_path\_@{app\_secure\_path\_}!GpgFrontend::DataObjectOperator@{GpgFrontend::DataObjectOperator}}
\doxysubsubsection{\texorpdfstring{app\_secure\_path\_}{app\_secure\_path\_}}
{\footnotesize\ttfamily std\+::filesystem\+::path Gpg\+Frontend\+::\+Data\+Object\+Operator\+::app\+\_\+secure\+\_\+path\+\_\+\hspace{0.3cm}{\ttfamily [private]}}
{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{=}
\DoxyCodeLine{ \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_a3c195f8e4c30d95be14a6d43e9282601}{global\_setting\_station\_}}.GetAppConfigPath() /}
\DoxyCodeLine{ \textcolor{stringliteral}{"{}secure"{}}}
\end{DoxyCode}
Where sensitive information is stored.
Referenced by \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_a3a8ae5c36fec01d0d5c3e5f9aed457a6}{Data\+Object\+Operator()}}.
\mbox{\Hypertarget{classGpgFrontend_1_1DataObjectOperator_a3c195f8e4c30d95be14a6d43e9282601}\label{classGpgFrontend_1_1DataObjectOperator_a3c195f8e4c30d95be14a6d43e9282601}}
\index{GpgFrontend::DataObjectOperator@{GpgFrontend::DataObjectOperator}!global\_setting\_station\_@{global\_setting\_station\_}}
\index{global\_setting\_station\_@{global\_setting\_station\_}!GpgFrontend::DataObjectOperator@{GpgFrontend::DataObjectOperator}}
\doxysubsubsection{\texorpdfstring{global\_setting\_station\_}{global\_setting\_station\_}}
{\footnotesize\ttfamily \mbox{\hyperlink{classGpgFrontend_1_1GlobalSettingStation}{Global\+Setting\+Station}}\& Gpg\+Frontend\+::\+Data\+Object\+Operator\+::global\+\_\+setting\+\_\+station\+\_\+\hspace{0.3cm}{\ttfamily [private]}}
{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{=}
\DoxyCodeLine{ \mbox{\hyperlink{classGpgFrontend_1_1SingletonFunctionObject_a8a378452876a685af879e04bfa456b6f}{GlobalSettingStation::GetInstance}}()}
\end{DoxyCode}
\mbox{\hyperlink{classGpgFrontend_1_1GlobalSettingStation}{Global\+Setting\+Station}}.
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item
src/core/function/Data\+Object\+Operator.\+h\item
src/core/function/Data\+Object\+Operator.\+cpp\end{DoxyCompactItemize}