00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __UAPI__REFCOUNTER
00021 #define __UAPI__REFCOUNTER
00022
00023 #include "exports.h"
00024 #include "types.h"
00025 #include "ReturnCode.h"
00026
00027
00028 namespace android
00029 {
00030 namespace speech
00031 {
00032 namespace recognition
00033 {
00034 namespace utilities
00035 {
00040 class UAPI_EXPORT RefCounter
00041 {
00042 public:
00050 RefCounter(void* object, bool loggingAllowed, ReturnCode::Type& returnCode);
00051 virtual ~RefCounter();
00052
00059 virtual ARRAY_LIMIT increment(ReturnCode::Type& returnCode);
00060
00067 virtual ARRAY_LIMIT decrement(ReturnCode::Type& returnCode);
00068
00074 ARRAY_LIMIT getCount() const;
00075
00079 void* getObject() const;
00080
00086 bool isLoggingAllowed() const;
00087 protected:
00091 ARRAY_LIMIT count;
00095 void* object;
00096
00097 bool loggingAllowed;
00098 };
00099 }
00100 }
00101 }
00102 }
00103
00104 #endif