1b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien/*
2b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien * Copyright (C) 2014 The Android Open Source Project
3b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien *
4b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien * Licensed under the Apache License, Version 2.0 (the "License");
5b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien * you may not use this file except in compliance with the License.
6b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien * You may obtain a copy of the License at
7b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien *
8b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien *      http://www.apache.org/licenses/LICENSE-2.0
9b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien *
10b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien * Unless required by applicable law or agreed to in writing, software
11b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien * distributed under the License is distributed on an "AS IS" BASIS,
12b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien * See the License for the specific language governing permissions and
14b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien * limitations under the License.
15b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien */
16b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien
17b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien// Base class for reference counted objects in Minikin
18b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien
19b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien#include "MinikinInternal.h"
20b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien
21b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien#include <minikin/MinikinRefCounted.h>
22b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien
23b80c1f19c58b927820a8a24bf2218e5645724608Raph Leviennamespace android {
24b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien
25b80c1f19c58b927820a8a24bf2218e5645724608Raph Levienvoid MinikinRefCounted::Ref() {
26b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien    AutoMutex _l(gMinikinLock);
27b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien    this->RefLocked();
28b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien}
29b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien
30b80c1f19c58b927820a8a24bf2218e5645724608Raph Levienvoid MinikinRefCounted::Unref() {
31b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien    AutoMutex _l(gMinikinLock);
32b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien    this->UnrefLocked();
33b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien}
34b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien
35b80c1f19c58b927820a8a24bf2218e5645724608Raph Levien}
36