| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- //
- // Process_WINCE.h
- //
- // $Id: //poco/1.4/Foundation/include/Poco/Process_WINCE.h#4 $
- //
- // Library: Foundation
- // Package: Processes
- // Module: Process
- //
- // Definition of the ProcessImpl class for WIN32.
- //
- // Copyright (c) 2004-2010, Applied Informatics Software Engineering GmbH.
- // and Contributors.
- //
- // SPDX-License-Identifier: BSL-1.0
- //
- #ifndef Foundation_Process_WINCE_INCLUDED
- #define Foundation_Process_WINCE_INCLUDED
- #include "Poco/Foundation.h"
- #include "Poco/RefCountedObject.h"
- #include <vector>
- #include <map>
- #include "Poco/UnWindows.h"
- namespace Poco {
- class Pipe;
- class Foundation_API ProcessHandleImpl: public RefCountedObject
- {
- public:
- ProcessHandleImpl(HANDLE _hProcess, UInt32 pid);
- ~ProcessHandleImpl();
-
- UInt32 id() const;
- HANDLE process() const;
- int wait() const;
- void closeHandle();
- private:
- HANDLE _hProcess;
- UInt32 _pid;
- ProcessHandleImpl(const ProcessHandleImpl&);
- ProcessHandleImpl& operator = (const ProcessHandleImpl&);
- };
- class Foundation_API ProcessImpl
- {
- public:
- typedef UInt32 PIDImpl;
- typedef std::vector<std::string> ArgsImpl;
- typedef std::map<std::string, std::string> EnvImpl;
-
- static PIDImpl idImpl();
- static void timesImpl(long& userTime, long& kernelTime);
- static ProcessHandleImpl* launchImpl(
- const std::string& command,
- const ArgsImpl& args,
- const std::string& initialDirectory,
- Pipe* inPipe,
- Pipe* outPipe,
- Pipe* errPipe,
- const EnvImpl& env);
- static void killImpl(ProcessHandleImpl& handle);
- static void killImpl(PIDImpl pid);
- static bool isRunningImpl(const ProcessHandleImpl& handle);
- static bool isRunningImpl(PIDImpl pid);
- static void requestTerminationImpl(PIDImpl pid);
- static std::string terminationEventName(PIDImpl pid);
- };
- } // namespace Poco
- #endif // Foundation_Process_WINCE_INCLUDED
|