< 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 >