| /* |
| * Copyright 2015 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| #ifndef SkDmuxWStream_DEFINED |
| #define SkDmuxWStream_DEFINED |
| |
| #include "SkStream.h" |
| #include "SkTDArray.h" |
| |
| /** |
| * A SkWStream Demultiplexer. If initialized with |
| * SkDmuxWStream dmuxWStream(NULL, 0); |
| * then it becomes a /dev/null. |
| */ |
| class SkDmuxWStream : public SkWStream { |
| public: |
| SkDmuxWStream(SkWStream* const streamArray[], size_t count); |
| ~SkDmuxWStream(); |
| virtual bool write(const void* buffer, size_t size) override; |
| virtual void newline() override; |
| virtual void flush() override; |
| virtual size_t bytesWritten() const override; |
| |
| private: |
| SkTDArray<SkWStream*> fWStreams; |
| size_t fBytesWritten; |
| }; |
| |
| #endif // SkDmuxWStream_DEFINED |