202 lines
13 KiB
TeX
202 lines
13 KiB
TeX
\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\+:
|
|
\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[height=550pt]{classGpgFrontend_1_1DataObjectOperator__inherit__graph}
|
|
\end{center}
|
|
\end{figure}
|
|
|
|
|
|
Collaboration diagram for Gpg\+Frontend\+::Data\+Object\+Operator\+:
|
|
\nopagebreak
|
|
\begin{figure}[H]
|
|
\begin{center}
|
|
\leavevmode
|
|
\includegraphics[height=550pt]{classGpgFrontend_1_1DataObjectOperator__coll__graph}
|
|
\end{center}
|
|
\end{figure}
|
|
\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 \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_a24c9cdbe9256e332ac93d6dc28c76b90}{rd\+\_\+}}
|
|
\begin{DoxyCompactList}\small\item\em Random device. \end{DoxyCompactList}\item
|
|
\mbox{\Hypertarget{classGpgFrontend_1_1DataObjectOperator_a9fc92c7d497f2a2057776adfca40e8ca}\label{classGpgFrontend_1_1DataObjectOperator_a9fc92c7d497f2a2057776adfca40e8ca}}
|
|
std\+::mt19937 \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_a9fc92c7d497f2a2057776adfca40e8ca}{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}}
|
|
Q\+Byte\+Array \mbox{\hyperlink{classGpgFrontend_1_1DataObjectOperator_ae409c3562c3e08931daa17f5790c508b}{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 app\+\_\+data\+\_\+objs\+\_\+path\+\_\+, app\+\_\+secure\+\_\+key\+\_\+path\+\_\+, app\+\_\+secure\+\_\+path\+\_\+, hash\+\_\+key\+\_\+, init\+\_\+app\+\_\+secure\+\_\+key(), and 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 G\+NU 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 W\+I\+T\+H\+O\+UT A\+NY W\+A\+R\+R\+A\+N\+TY; without even the implied warranty of M\+E\+R\+C\+H\+A\+N\+T\+A\+B\+I\+L\+I\+TY or F\+I\+T\+N\+E\+SS F\+OR A P\+A\+R\+T\+I\+C\+U\+L\+AR P\+U\+R\+P\+O\+SE. See the G\+NU General Public License for more details.
|
|
|
|
You should have received a copy of the G\+NU 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 G\+P\+L-\/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.
|
|
|
|
S\+P\+D\+X-\/\+License-\/\+Identifier\+: G\+P\+L-\/3.\+0-\/or-\/later
|
|
|
|
References app\+\_\+secure\+\_\+key\+\_\+path\+\_\+, Gpg\+Frontend\+::\+Singleton\+Function\+Object$<$ Passphrase\+Generator $>$\+::\+Get\+Instance(), and Gpg\+Frontend\+::\+File\+Operator\+::\+Write\+File\+Std().
|
|
|
|
|
|
|
|
Referenced by 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 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 Data\+Object\+Operator(), and 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 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_a70484d7cfe9f9dcbcd5f8bb749250f36}{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}
|