| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- /*
- * Copyright 2010-2023 Branimir Karadzic. All rights reserved.
- * License: https://github.com/bkaradzic/bx/blob/master/LICENSE
- */
- #ifndef BX_PROCESS_H_HEADER_GUARD
- #define BX_PROCESS_H_HEADER_GUARD
- #include "readerwriter.h"
- namespace bx
- {
- ///
- class ProcessReader
- : public ProcessOpenI
- , public CloserI
- , public ReaderI
- {
- public:
- ///
- ProcessReader();
- ///
- ~ProcessReader();
- ///
- virtual bool open(const FilePath& _filePath, const StringView& _args, Error* _err) override;
- ///
- virtual void close() override;
- ///
- virtual int32_t read(void* _data, int32_t _size, Error* _err) override;
- ///
- int32_t getExitCode() const;
- private:
- void* m_file;
- int32_t m_exitCode;
- };
- ///
- class ProcessWriter
- : public ProcessOpenI
- , public CloserI
- , public WriterI
- {
- public:
- ///
- ProcessWriter();
- ///
- ~ProcessWriter();
- ///
- virtual bool open(const FilePath& _filePath, const StringView& _args, Error* _err) override;
- ///
- virtual void close() override;
- ///
- virtual int32_t write(const void* _data, int32_t _size, Error* _err) override;
- ///
- int32_t getExitCode() const;
- private:
- void* m_file;
- int32_t m_exitCode;
- };
- } // namespace bx
- #endif // BX_PROCESS_H_HEADER_GUARD
|