summaryrefslogtreecommitdiff
path: root/src/gpg_wrapper.h
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss@sss.chaoslab.ru>2013-02-08 23:57:56 +0200
committerGluzskiy Alexandr <sss@sss.chaoslab.ru>2013-02-08 23:57:56 +0200
commit418736c65c97cdc6ca4910e1e8650e474cb12849 (patch)
treec5d85988440500689a3106490abbeb1b888bcf95 /src/gpg_wrapper.h
parent5ea554f9494093cf070559f47e777df13b6bc423 (diff)
merged with miranda_ng main repo
"boosted" process management evnt_to_db/history>actual_sending logic to avoid srmm problem
Diffstat (limited to 'src/gpg_wrapper.h')
-rwxr-xr-xsrc/gpg_wrapper.h30
1 files changed, 19 insertions, 11 deletions
diff --git a/src/gpg_wrapper.h b/src/gpg_wrapper.h
index 44b2f4f..9ff0957 100755
--- a/src/gpg_wrapper.h
+++ b/src/gpg_wrapper.h
@@ -32,36 +32,44 @@ typedef enum {
}
pxResult;
-pxResult pxExecute(wstring *acommandline, char *ainput, string *aoutput, LPDWORD aexitcode, pxResult *result, HANDLE hProcess, PROCESS_INFORMATION *pr);
-pxResult pxExecute_passwd_change(std::vector<std::string> &aargv, char *ainput, string *aoutput, LPDWORD aexitcode, pxResult *result, HANDLE hProcess, PROCESS_INFORMATION *pr, string &old_pass, string &new_pass);
+pxResult pxExecute(std::vector<std::string> &aargv, string *aoutput, LPDWORD aexitcode, pxResult *result);
+pxResult pxExecute_passwd_change(std::vector<std::string> &aargv, string *aoutput, LPDWORD aexitcode, pxResult *result, string &old_pass, string &new_pass);
struct gpg_execution_params
{
- wstring *cmd;
- char *useless;
+ std::vector<std::wstring> &aargv;
+// char *useless;
string *out;
LPDWORD code;
pxResult *result;
- HANDLE hProcess;
- PROCESS_INFORMATION *proc;
+ boost::process::child *child;
+// HANDLE hProcess;
+// PROCESS_INFORMATION *proc;
+ gpg_execution_params(std::vector<std::wstring> &a): aargv(a)
+ {
+ child = nullptr;
+ }
};
struct gpg_execution_params_pass
{
std::vector<std::wstring> &args;
string &old_pass, &new_pass;
- char *useless;
string *out;
LPDWORD code;
pxResult *result;
- HANDLE hProcess;
- PROCESS_INFORMATION *proc;
+ boost::process::child *child;
+// HANDLE hProcess;
+// PROCESS_INFORMATION *proc;
gpg_execution_params_pass(std::vector<std::wstring> &a, std::string &o, std::string &n): args(a), old_pass(o), new_pass(n)
- {}
+ {
+ child = nullptr;
+ }
};
-void pxEexcute_thread(void *param);
+void pxEexcute_thread(gpg_execution_params &params);
+bool gpg_launcher(gpg_execution_params &params, boost::posix_time::time_duration t = boost::posix_time::seconds(10));
void pxEexcute_passwd_change_thread(void *param);
#endif \ No newline at end of file