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\+ :
2022-05-08 22:01:23 +00:00
\nopagebreak
\begin { figure} [H]
\begin { center}
\leavevmode
\includegraphics [height=550pt] { classGpgFrontend_ 1_ 1DataObjectOperator_ _ inherit_ _ graph}
\end { center}
\end { figure}
2022-05-08 19:59:26 +00:00
Collaboration diagram for Gpg\+ Frontend\+ ::Data\+ Object\+ Operator\+ :
2022-05-08 22:01:23 +00:00
\nopagebreak
\begin { figure} [H]
\begin { center}
\leavevmode
\includegraphics [height=550pt] { classGpgFrontend_ 1_ 1DataObjectOperator_ _ coll_ _ graph}
\end { center}
\end { figure}
2022-05-08 19:59:26 +00:00
\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} }
2022-05-08 22:01:23 +00:00
std\+ ::random\+ \_ \+ device \mbox { \hyperlink { classGpgFrontend_ 1_ 1DataObjectOperator_ a24c9cdbe9256e332ac93d6dc28c76b90} { rd\+ \_ \+ } }
2022-05-08 19:59:26 +00:00
\begin { DoxyCompactList} \small \item \em Random device. \end { DoxyCompactList} \item
\mbox { \Hypertarget { classGpgFrontend_ 1_ 1DataObjectOperator_ a9fc92c7d497f2a2057776adfca40e8ca} \label { classGpgFrontend_ 1_ 1DataObjectOperator_ a9fc92c7d497f2a2057776adfca40e8ca} }
2022-05-08 22:01:23 +00:00
std\+ ::mt19937 \mbox { \hyperlink { classGpgFrontend_ 1_ 1DataObjectOperator_ a9fc92c7d497f2a2057776adfca40e8ca} { mt\+ \_ \+ } } = std\+ ::mt19937(\mbox { \hyperlink { classGpgFrontend_ 1_ 1DataObjectOperator_ a24c9cdbe9256e332ac93d6dc28c76b90} { rd\+ \_ \+ } } ())
2022-05-08 19:59:26 +00:00
\begin { DoxyCompactList} \small \item \em Mersenne twister. \end { DoxyCompactList} \item
\mbox { \Hypertarget { classGpgFrontend_ 1_ 1DataObjectOperator_ ae409c3562c3e08931daa17f5790c508b} \label { classGpgFrontend_ 1_ 1DataObjectOperator_ ae409c3562c3e08931daa17f5790c508b} }
2022-11-26 18:19:17 +00:00
QByte\+ Array \mbox { \hyperlink { classGpgFrontend_ 1_ 1DataObjectOperator_ ae409c3562c3e08931daa17f5790c508b} { hash\+ \_ \+ key\+ \_ \+ } }
2022-05-08 19:59:26 +00:00
\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}
2022-05-08 22:01:23 +00:00
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().
2022-05-08 19:59:26 +00:00
\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} } .
2022-11-26 18:19:17 +00:00
\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.
2022-05-08 19:59:26 +00:00
2022-11-26 18:19:17 +00:00
\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.
2022-05-08 19:59:26 +00:00
2022-11-26 18:19:17 +00:00
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/} } .
2022-05-08 19:59:26 +00:00
2022-11-26 18:19:17 +00:00
The initial version of the source code is inherited from the gpg4usb project, which is under GPL-\/ 3.\+ 0-\/ or-\/ later.
2022-05-08 19:59:26 +00:00
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.
2022-11-26 18:19:17 +00:00
SPDX-\/ \+ License-\/ \+ Identifier\+ : GPL-\/ 3.\+ 0-\/ or-\/ later
2022-05-08 19:59:26 +00:00
2022-05-08 22:01:23 +00:00
References app\+ \_ \+ secure\+ \_ \+ key\+ \_ \+ path\+ \_ \+ , Gpg\+ Frontend\+ ::\+ Singleton\+ Function\+ Object$ < $ Passphrase\+ Generator $ > $ \+ ::\+ Get\+ Instance(), and Gpg\+ Frontend\+ ::\+ File\+ Operator\+ ::\+ Write\+ File\+ Std().
2022-05-08 19:59:26 +00:00
2022-05-08 22:01:23 +00:00
Referenced by Data\+ Object\+ Operator().
2022-05-08 19:59:26 +00:00
\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 { =}
2022-11-26 18:19:17 +00:00
\DoxyCodeLine { \mbox { \hyperlink { classGpgFrontend_ 1_ 1DataObjectOperator_ a3c195f8e4c30d95be14a6d43e9282601} { global\_ setting\_ station\_ } } .GetAppDataPath() / \textcolor { stringliteral} { "{ } data\_ objs"{ } } }
2022-05-08 19:59:26 +00:00
\end { DoxyCode}
Where data object is stored
2022-05-08 22:01:23 +00:00
Referenced by Data\+ Object\+ Operator().
2022-05-08 19:59:26 +00:00
\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 { =}
2022-11-26 18:19:17 +00:00
\DoxyCodeLine { \mbox { \hyperlink { classGpgFrontend_ 1_ 1DataObjectOperator_ a6d38d25c91c33c48d083ec4de051108a} { app\_ secure\_ path\_ } } / \textcolor { stringliteral} { "{ } app.key"{ } } }
2022-05-08 19:59:26 +00:00
\end { DoxyCode}
Where the key of data object is stored.
2022-05-08 22:01:23 +00:00
Referenced by Data\+ Object\+ Operator(), and init\+ \_ \+ app\+ \_ \+ secure\+ \_ \+ key().
2022-05-08 19:59:26 +00:00
\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() /}
2022-11-26 18:19:17 +00:00
\DoxyCodeLine { \textcolor { stringliteral} { "{ } secure"{ } } }
2022-05-08 19:59:26 +00:00
\end { DoxyCode}
Where sensitive information is stored.
2022-05-08 22:01:23 +00:00
Referenced by Data\+ Object\+ Operator().
2022-05-08 19:59:26 +00:00
\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 { =}
2022-05-08 22:01:23 +00:00
\DoxyCodeLine { \mbox { \hyperlink { classGpgFrontend_ 1_ 1SingletonFunctionObject_ a70484d7cfe9f9dcbcd5f8bb749250f36} { GlobalSettingStation::GetInstance} } ()}
2022-05-08 19:59:26 +00:00
\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}