1
2/*
3 * Copyright 2010 Google Inc.
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
7 */
8
9
10
11#ifndef GrRefCnt_DEFINED
12#define GrRefCnt_DEFINED
13
14#include "GrTypes.h"
15#include "SkRefCnt.h"
16
17typedef SkRefCnt GrRefCnt;
18typedef SkAutoRef GrAutoRef;
19typedef SkAutoUnref GrAutoUnref;
20
21#define GrSafeRef SkSafeRef
22#define GrSafeUnref SkSafeUnref
23#define GrSafeAssign(a, b)  SkRefCnt_SafeAssign(a, b)
24
25template<typename T>
26static inline void GrSafeSetNull(T*& obj) {
27    if (NULL != obj) {
28        obj->unref();
29        obj = NULL;
30    }
31}
32
33#endif
34
35