blob: f95cfc7f3dd4fef39dad0eedc66150a42307e108 [file] [log] [blame]
yangsu@google.comc5aeccd2011-07-17 14:42:08 +00001#ifndef SkNetPipeController_DEFINED
2#define SkNetPipeController_DEFINED
3#include "SkTypes.h"
4#include "SkCanvas.h"
5#include "SkGPipe.h"
6#include "SkSockets.h"
7class SkNetPipeController : public SkGPipeController {
8public:
9 SkNetPipeController(SkCanvas* target);
10 ~SkNetPipeController();
11
12 virtual void* requestBlock(size_t minRequest, size_t* actual);
13 virtual void notifyWritten(size_t bytes);
14
15 int writeToSocket(SkSocket* sockfd, SkSocket::DataType type);
16 void enablePlayback() { fPlayback = true; }
17 void disablePlayback() { fPlayback = false; }
18
19private:
20 SkGPipeReader fReader;
21 bool fPlayback;
22 void* fBlock;
23 size_t fBlockSize;
24 size_t fBytesWritten;
25 int fAtomsWritten;
26 size_t fTotalWritten;
27
28 SkGPipeReader::Status fStatus;
29};
30#endif