LCOV - code coverage report
Current view: top level - gfx/skia/skia/src/core - SkDiscardableMemory.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 3 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 6 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 SkDiscardableMemory_DEFINED
       9             : #define SkDiscardableMemory_DEFINED
      10             : 
      11             : #include "SkRefCnt.h"
      12             : #include "SkTypes.h"
      13             : 
      14             : /**
      15             :  *  Interface for discardable memory. Implementation is provided by the
      16             :  *  embedder.
      17             :  */
      18           0 : class SK_API SkDiscardableMemory {
      19             : public:
      20             :     /**
      21             :      *  Factory method that creates, initializes and locks an SkDiscardableMemory
      22             :      *  object. If either of these steps fails, a nullptr pointer will be returned.
      23             :      */
      24             :     static SkDiscardableMemory* Create(size_t bytes);
      25             : 
      26             :     /**
      27             :      *  Factory class that creates, initializes and locks an SkDiscardableMemory
      28             :      *  object. If either of these steps fails, a nullptr pointer will be returned.
      29             :      */
      30           0 :     class Factory : public SkRefCnt {
      31             :     public:
      32             :         virtual SkDiscardableMemory* create(size_t bytes) = 0;
      33             :     private:
      34             :         typedef SkRefCnt INHERITED;
      35             :     };
      36             : 
      37             :     /** Must not be called while locked.
      38             :      */
      39           0 :     virtual ~SkDiscardableMemory() {}
      40             : 
      41             :     /**
      42             :      * Locks the memory, prevent it from being discarded. Once locked. you may
      43             :      * obtain a pointer to that memory using the data() method.
      44             :      *
      45             :      * lock() may return false, indicating that the underlying memory was
      46             :      * discarded and that the lock failed.
      47             :      *
      48             :      * Nested calls to lock are not allowed.
      49             :      */
      50             :     virtual bool lock() = 0;
      51             : 
      52             :     /**
      53             :      * Returns the current pointer for the discardable memory. This call is ONLY
      54             :      * valid when the discardable memory object is locked.
      55             :      */
      56             :     virtual void* data() = 0;
      57             : 
      58             :     /**
      59             :      * Unlock the memory so that it can be purged by the system. Must be called
      60             :      * after every successful lock call.
      61             :      */
      62             :     virtual void unlock() = 0;
      63             : };
      64             : 
      65             : #endif

Generated by: LCOV version 1.13