mFrame
載入中...
搜尋中...
無符合項目
OutputStream.h
1
7#ifndef MFRAME_BF429992_9D4C_4C5C_B6B7_69C9B0F86EA1
8#define MFRAME_BF429992_9D4C_4C5C_B6B7_69C9B0F86EA1
9
10/* ***************************************************************************************
11 * Include
12 */
13
14//----------------------------------------------------------------------------------------
15
16//----------------------------------------------------------------------------------------
17#include "./../io/CompletionHandler.h"
18#include "./../lang/Readable.h"
19#include "./../util/Future.h"
20
21/* ***************************************************************************************
22 * Namespace
23 */
24namespace mframe::io {
25 struct OutputStream;
26}
27
28/* ***************************************************************************************
29 * Class/Interface/Struct/Enum
30 */
39 virtual bool abortWrite(void) abstract;
40
48 virtual bool writeBusy(void) abstract;
49
60 virtual bool write(mframe::lang::Readable& readable,
61 void* attachment,
62 mframe::io::CompletionHandler<int>* handler) abstract;
63
72 inline bool write(mframe::lang::Readable& readable, mframe::util::Future<int>& future) {
73 if (future.isBusy())
74 return false;
75
76 future.setWait();
77 if (this->write(readable, nullptr, &future))
78 return true;
79
80 future.failed(nullptr);
81 return false;
82 }
83};
84
85/* ***************************************************************************************
86 * End of file
87 */
88
89#endif /* MFRAME_BF429992_9D4C_4C5C_B6B7_69C9B0F86EA1 */
Definition AppendableOutputStream.h:24
Definition CompletionHandler.h:32
virtual void failed(void *attachment) override
Invoked when an operation fails.
Definition OutputStream.h:31
virtual bool writeBusy(void) override
取得輸出串流是否為寫入忙碌
virtual bool abortWrite(void) override
取消當前的輸出串流寫入
bool write(mframe::lang::Readable &readable, mframe::util::Future< int > &future)
Definition OutputStream.h:72
virtual bool write(mframe::lang::Readable &readable, void *attachment, mframe::io::CompletionHandler< int > *handler) override
寫入
Definition Interface.h:134
Definition Readable.h:31
Definition Future.h:33