modules/fxpackager/src/main/native/library/common/WindowsPlatform.h

Print this page

        

@@ -57,26 +57,31 @@
     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();
     virtual TString GetBundledJVMLibraryFileName(TString RuntimePath);
     virtual TString GetSystemJVMLibraryFileName();
     virtual TString GetSystemJRE();
 
-    virtual PropertyContainer* GetConfigFile(TString FileName);
+    virtual ISectionalPropertyContainer* GetConfigFile(TString FileName);
 
     virtual TString GetModuleFileName();
     virtual Module LoadLibrary(TString FileName);
     virtual void FreeLibrary(Module AModule);
     virtual Procedure GetProcAddress(Module AModule, std::string MethodName);
     virtual std::vector<TString> GetLibraryImports(const TString FileName);
     virtual std::vector<TString> FilterOutRuntimeDependenciesForPlatform(std::vector<TString> Imports);
 
+    virtual Process* CreateProcess();
+
     virtual bool IsMainThread();
     virtual TPlatformNumber GetMemorySize();
 
 #ifdef DEBUG
     virtual bool IsNativeDebuggerPresent();

@@ -149,8 +154,45 @@
     WindowsLibrary(const TString FileName);
 
     std::vector<TString> 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<TString> Arguments,
+        bool AWait = false);
+    virtual bool Wait();
+    virtual TProcessID GetProcessID();
+};
+
+
+
+
 #endif //WINDOWSPLATFORM_H
 
 #endif // WINDOWS