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

GpgCommandExecutor.h
1
29 #ifndef GPGFRONTEND_ZH_CN_TS_GPGCOMMANDEXECUTOR_H
30 #define GPGFRONTEND_ZH_CN_TS_GPGCOMMANDEXECUTOR_H
31
32 #ifndef WINDOWS
33 #include <boost/process.hpp>
34 #endif
35
36 #include "core/GpgContext.h"
37 #include "core/GpgFunctionObject.h"
38
39 namespace GpgFrontend {
40
45 class GPGFRONTEND_CORE_EXPORT GpgCommandExecutor : public SingletonFunctionObject<GpgCommandExecutor> {
46 public:
52 explicit GpgCommandExecutor(
53 int channel = SingletonFunctionObject::GetDefaultChannel());
54
55 #ifndef WINDOWS
56
63 void Execute(StringArgsRef arguments,
64 const std::function<void(boost::process::async_pipe &in,
65 boost::process::async_pipe &out)>
66 &interact_func);
67 #endif
68
69 private:
70 GpgContext &ctx_ = GpgContext::GetInstance(
71 SingletonFunctionObject::GetChannel());
72 };
73
74 } // namespace GpgFrontend
75
76 #endif // GPGFRONTEND_ZH_CN_TS_GPGCOMMANDEXECUTOR_H
GpgFrontend::SingletonFunctionObject
Definition: GpgFunctionObject.h:49
GpgFrontend::GpgCommandExecutor
Extra commands related to GPG.
Definition: GpgCommandExecutor.h:45
GpgFrontend
Definition: CoreCommonUtil.cpp:29
GpgFrontend::SingletonFunctionObject< GpgContext >::GetInstance
static GpgContext & GetInstance(int channel=GpgFrontend::GPGFRONTEND_DEFAULT_CHANNEL)
Get the Instance object.
Definition: GpgFunctionObject.h:57
GpgFrontend::SingletonFunctionObject::GetChannel
int GetChannel() const
Get the Channel object.
Definition: GpgFunctionObject.h:134
GpgFrontend::GpgContext
Definition: GpgContext.h:59
GpgFrontend::GpgCommandExecutor::GpgCommandExecutor
GpgCommandExecutor(int channel=SingletonFunctionObject::GetDefaultChannel())
Construct a new Gpg Command Executor object.
Definition: GpgCommandExecutor.cpp:30
GpgFrontend::SingletonFunctionObject::GetDefaultChannel
static int GetDefaultChannel()
Get the Default Channel object.
Definition: GpgFunctionObject.h:127
GpgFrontend::GpgCommandExecutor::Execute
void Execute(StringArgsRef arguments, const std::function< void(boost::process::async_pipe &in, boost::process::async_pipe &out)> &interact_func)
Excuting an order.
Definition: GpgCommandExecutor.cpp:41