diff options
Diffstat (limited to 'ppapi/cpp/non_thread_safe_ref_count.h')
-rw-r--r-- | ppapi/cpp/non_thread_safe_ref_count.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/ppapi/cpp/non_thread_safe_ref_count.h b/ppapi/cpp/non_thread_safe_ref_count.h index d827209..0844eb7 100644 --- a/ppapi/cpp/non_thread_safe_ref_count.h +++ b/ppapi/cpp/non_thread_safe_ref_count.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -9,12 +9,17 @@ #include "ppapi/cpp/logging.h" #include "ppapi/cpp/module.h" +/// @file +/// This file defines the APIs for maintaining a reference counter. namespace pp { -// Simple ref-count that isn't thread safe. Note: in Debug mode, it checks that -// it is either called on the main thread, or always called on another thread. +/// A simple reference counter that is not thread-safe. <strong>Note:</strong> +/// in Debug mode, it checks that it is either called on the main thread, or +/// always called on another thread. class NonThreadSafeRefCount { public: + /// Default constructor. In debug mode, this checks that the object is being + /// created on the main thread. NonThreadSafeRefCount() : ref_(0) { #ifndef NDEBUG @@ -22,15 +27,22 @@ class NonThreadSafeRefCount { #endif } + /// Destructor. ~NonThreadSafeRefCount() { PP_DCHECK(is_main_thread_ == Module::Get()->core()->IsMainThread()); } + /// AddRef() increments the reference counter. + /// + /// @return An int32_t with the incremented reference counter. int32_t AddRef() { PP_DCHECK(is_main_thread_ == Module::Get()->core()->IsMainThread()); return ++ref_; } + /// Release() decrements the reference counter. + /// + /// @return An int32_t with the decremeneted reference counter. int32_t Release() { PP_DCHECK(is_main_thread_ == Module::Get()->core()->IsMainThread()); return --ref_; |