/* libs/graphics/sgl/SkRefCnt.cpp ** ** Copyright 2006, The Android Open Source Project ** ** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** ** http://www.apache.org/licenses/LICENSE-2.0 ** ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License. */ #include "SkRefCnt.h" SkAutoUnref::~SkAutoUnref() { if (fObj) { fObj->unref(); } } bool SkAutoUnref::ref() { if (fObj) { fObj->ref(); return true; } return false; } bool SkAutoUnref::unref() { if (fObj) { fObj->unref(); fObj = NULL; return true; } return false; } SkRefCnt* SkAutoUnref::detach() { SkRefCnt* obj = fObj; fObj = NULL; return obj; }