libfilezilla
process.hpp
Go to the documentation of this file.
1 #ifndef LIBFILEZILLA_PROCESS_HEADER
2 #define LIBFILEZILLA_PROCESS_HEADER
3 
4 #include "libfilezilla.hpp"
5 
10 #include <vector>
11 
12 namespace fz {
13 
21 class FZ_PUBLIC_SYMBOL process final
22 {
23 public:
24  process();
25  ~process();
26 
27  process(process const&) = delete;
28  process& operator=(process const&) = delete;
29 
41  bool spawn(native_string const& cmd, std::vector<native_string> const& args = std::vector<native_string>());
42 
49  void kill();
50 
59  int read(char* buffer, unsigned int len);
60 
68  bool write(char const* buffer, unsigned int len);
69 
70  inline bool write(std::string const& s) {
71  return write(s.c_str(), static_cast<unsigned int>(s.size()));
72  }
73 
74 private:
75  class impl;
76  impl* impl_;
77 };
78 
79 }
80 
81 #endif
std::wstring native_string
A string in the system&#39;s native character type and encoding. Note: This typedef changes depending on...
Definition: string.hpp:32
The namespace used by libfilezilla.
Definition: apply.hpp:16
Sets some global macros and further includes string.hpp.
The buffer class is a simple buffer where data can be appended at the end and consumed at the front...
Definition: buffer.hpp:23
The process class manages an asynchronous process with redirected IO.
Definition: process.hpp:21