diff options
author | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2013-02-08 23:57:56 +0200 |
---|---|---|
committer | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2013-02-08 23:57:56 +0200 |
commit | 418736c65c97cdc6ca4910e1e8650e474cb12849 (patch) | |
tree | c5d85988440500689a3106490abbeb1b888bcf95 /src/gpg_wrapper.h | |
parent | 5ea554f9494093cf070559f47e777df13b6bc423 (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-x | src/gpg_wrapper.h | 30 |
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 ¶ms); +bool gpg_launcher(gpg_execution_params ¶ms, 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 |