< prev index next >
src/jdk.incubator.jpackage/windows/native/msiwrapper/Executor.h
Print this page
*** 21,34 ****
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
! #include <windows.h>
! extern "C" {
! BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason,
! LPVOID lpvReserved) {
! return true;
}
! }
\ No newline at end of file
--- 21,84 ----
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
! #ifndef EXECUTOR_H
! #define EXECUTOR_H
! #include "tstrings.h"
! #include "UniqueHandle.h"
!
! class Executor {
! public:
! explicit Executor(const std::wstring& appPath=std::wstring()) {
! app(appPath).visible(false);
! }
!
! /**
! * Returns command line configured with arg() calls so far.
! */
! std::wstring args() const;
!
! /**
! * Set path to application to execute.
! */
! Executor& app(const std::wstring& v) {
! appPath = v;
! return *this;
! }
!
! /**
! * Adds another command line argument.
! */
! Executor& arg(const std::wstring& v) {
! argsArray.push_back(v);
! return *this;
}
!
! /**
! * Controls if application window should be visible.
! */
! Executor& visible(bool v) {
! theVisible = v;
! return *this;
! }
!
! /**
! * Starts application process and blocks waiting when the started
! * process terminates.
! * Returns process exit code.
! * Throws exception if process start failed.
! */
! int execAndWaitForExit() const;
!
! private:
! UniqueHandle startProcess() const;
!
! bool theVisible;
! tstring_array argsArray;
! std::wstring appPath;
! };
!
! #endif // #ifndef EXECUTOR_H
< prev index next >