--- old/modules/fxpackager/src/main/native/library/common/WindowsPlatform.h 2015-03-30 15:11:53.000000000 -0600 +++ new/modules/fxpackager/src/main/native/library/common/WindowsPlatform.h 2015-03-30 15:11:53.000000000 -0600 @@ -53,12 +53,15 @@ public: WindowsPlatform(void); virtual ~WindowsPlatform(void); - + virtual TCHAR* ConvertStringToFileSystemString(TCHAR* Source, bool &release); virtual TCHAR* ConvertFileSystemStringToString(TCHAR* Source, bool &release); virtual void ShowMessage(TString title, TString description); virtual void ShowMessage(TString description); + virtual MessageResponse ShowResponseMessage(TString title, TString description); + //virtual MessageResponse ShowResponseMessage(TString description); + virtual void SetCurrentDirectory(TString Value); virtual TString GetPackageRootDirectory(); virtual TString GetAppDataDirectory(); @@ -66,7 +69,7 @@ virtual TString GetSystemJVMLibraryFileName(); virtual TString GetSystemJRE(); - virtual PropertyContainer* GetConfigFile(TString FileName); + virtual ISectionalPropertyContainer* GetConfigFile(TString FileName); virtual TString GetModuleFileName(); virtual Module LoadLibrary(TString FileName); @@ -75,6 +78,8 @@ virtual std::vector GetLibraryImports(const TString FileName); virtual std::vector FilterOutRuntimeDependenciesForPlatform(std::vector Imports); + virtual Process* CreateProcess(); + virtual bool IsMainThread(); virtual TPlatformNumber GetMemorySize(); @@ -151,6 +156,43 @@ std::vector GetImports(); }; + +class WindowsJob { +private: + HANDLE FHandle; + +public: + WindowsJob(); + ~WindowsJob(); + + HANDLE GetHandle(); +}; + + +class WindowsProcess : public Process { +private: + bool FRunning; + + PROCESS_INFORMATION FProcessInfo; + static WindowsJob FJob; + + void Cleanup(); + +public: + WindowsProcess(); + virtual ~WindowsProcess(); + + virtual bool IsRunning(); + virtual bool Terminate(); + virtual bool Execute(const TString Application, const std::vector Arguments, + bool AWait = false); + virtual bool Wait(); + virtual TProcessID GetProcessID(); +}; + + + + #endif //WINDOWSPLATFORM_H #endif // WINDOWS