Home | History | Annotate | Download | only in DrawingBoard
      1 /*
      2  * Copyright 2011 Google Inc.
      3  *
      4  * Use of this source code is governed by a BSD-style license that can be
      5  * found in the LICENSE file.
      6  */
      7 #ifndef SkNetPipeController_DEFINED
      8 #define SkNetPipeController_DEFINED
      9 #include "SkTypes.h"
     10 #include "SkCanvas.h"
     11 #include "SkGPipe.h"
     12 #include "SkSockets.h"
     13 class SkNetPipeController : public SkGPipeController {
     14 public:
     15     SkNetPipeController(SkCanvas* target);
     16     ~SkNetPipeController();
     17 
     18     virtual void* requestBlock(size_t minRequest, size_t* actual);
     19     virtual void notifyWritten(size_t bytes);
     20 
     21     int writeToSocket(SkSocket* sockfd, SkSocket::DataType type);
     22     void enablePlayback() { fPlayback = true; }
     23     void disablePlayback() { fPlayback = false; }
     24 
     25 private:
     26     SkGPipeReader   fReader;
     27     bool            fPlayback;
     28     void*           fBlock;
     29     size_t          fBlockSize;
     30     size_t          fBytesWritten;
     31     int             fAtomsWritten;
     32     size_t          fTotalWritten;
     33 
     34     SkGPipeReader::Status   fStatus;
     35 };
     36 #endif
     37