LCOV - code coverage report
Current view: top level - gfx/skia/skia/src/core - SkValidatingReadBuffer.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 4 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 2 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  * Copyright 2013 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             : 
       8             : #ifndef SkValidatingReadBuffer_DEFINED
       9             : #define SkValidatingReadBuffer_DEFINED
      10             : 
      11             : #include "SkRefCnt.h"
      12             : #include "SkReadBuffer.h"
      13             : #include "SkWriteBuffer.h"
      14             : #include "SkPath.h"
      15             : #include "SkPicture.h"
      16             : #include "SkReader32.h"
      17             : 
      18             : class SkBitmap;
      19             : 
      20             : class SkValidatingReadBuffer : public SkReadBuffer {
      21             : public:
      22             :     SkValidatingReadBuffer(const void* data, size_t size);
      23             :     ~SkValidatingReadBuffer() override;
      24             : 
      25           0 :     SkReadBuffer* clone(const void* data, size_t size) const override {
      26           0 :         return new SkValidatingReadBuffer(data, size);
      27             :     }
      28             : 
      29             :     const void* skip(size_t size) override;
      30             : 
      31             :     // primitives
      32             :     bool readBool() override;
      33             :     SkColor readColor() override;
      34             :     int32_t readInt() override;
      35             :     SkScalar readScalar() override;
      36             :     uint32_t readUInt() override;
      37             :     int32_t read32() override;
      38             : 
      39             :     // peek
      40             :     uint8_t peekByte() override;
      41             : 
      42             :     // strings -- the caller is responsible for freeing the string contents
      43             :     void readString(SkString* string) override;
      44             : 
      45             :     // common data structures
      46             :     SkFlattenable* readFlattenable(SkFlattenable::Type type) override;
      47             :     void readColor4f(SkColor4f* color) override;
      48             :     void readPoint(SkPoint* point) override;
      49             :     void readMatrix(SkMatrix* matrix) override;
      50             :     void readIRect(SkIRect* rect) override;
      51             :     void readRect(SkRect* rect) override;
      52             :     void readRRect(SkRRect* rrect) override;
      53             :     void readRegion(SkRegion* region) override;
      54             :     void readPath(SkPath* path) override;
      55             : 
      56             :     // binary data and arrays
      57             :     bool readByteArray(void* value, size_t size) override;
      58             :     bool readColorArray(SkColor* colors, size_t size) override;
      59             :     bool readColor4fArray(SkColor4f* colors, size_t size) override;
      60             :     bool readIntArray(int32_t* values, size_t size) override;
      61             :     bool readPointArray(SkPoint* points, size_t size) override;
      62             :     bool readScalarArray(SkScalar* values, size_t size) override;
      63             : 
      64             :     // helpers to get info about arrays and binary data
      65             :     uint32_t getArrayCount() override;
      66             : 
      67             :     bool validate(bool isValid) override;
      68             :     bool isValid() const override;
      69             : 
      70             :     bool validateAvailable(size_t size) override;
      71             : 
      72             : private:
      73             :     bool readArray(void* value, size_t size, size_t elementSize);
      74             : 
      75             :     void setMemory(const void* data, size_t size);
      76             : 
      77           0 :     static bool IsPtrAlign4(const void* ptr) {
      78           0 :         return SkIsAlign4((uintptr_t)ptr);
      79             :     }
      80             : 
      81             :     bool fError;
      82             : 
      83             :     typedef SkReadBuffer INHERITED;
      84             : };
      85             : 
      86             : #endif // SkValidatingReadBuffer_DEFINED

Generated by: LCOV version 1.13