diff options
| author | Jason Sams <rjsams@android.com> | 2009-08-27 20:23:34 -0700 |
|---|---|---|
| committer | Jason Sams <rjsams@android.com> | 2009-08-27 20:23:34 -0700 |
| commit | 07ae40623737a6060b8a925fd2e6bba76780dcd4 (patch) | |
| tree | 74278403aa4fa761f05ae030abbbd64ff8635b4a /libs/rs/rsObjectBase.h | |
| parent | 0409cde3601131caf14c88d132c65d74774bbd79 (diff) | |
| download | frameworks_base-07ae40623737a6060b8a925fd2e6bba76780dcd4.zip frameworks_base-07ae40623737a6060b8a925fd2e6bba76780dcd4.tar.gz frameworks_base-07ae40623737a6060b8a925fd2e6bba76780dcd4.tar.bz2 | |
Implement async data/subData. Implement TriangleMeshBuilder in SimpleMesh which replaces TriangleMesh. Update Film to use new builder.
Diffstat (limited to 'libs/rs/rsObjectBase.h')
| -rw-r--r-- | libs/rs/rsObjectBase.h | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/libs/rs/rsObjectBase.h b/libs/rs/rsObjectBase.h index b2c3338..d1e6baa 100644 --- a/libs/rs/rsObjectBase.h +++ b/libs/rs/rsObjectBase.h @@ -30,8 +30,11 @@ public: ObjectBase(); virtual ~ObjectBase(); - void incRef() const; - void decRef() const; + void incSysRef() const; + void decSysRef() const; + + void incUserRef() const; + void decUserRef() const; const char * getName() const { return mName; @@ -41,13 +44,14 @@ public: private: char * mName; - mutable int32_t mRefCount; + mutable int32_t mSysRefCount; + mutable int32_t mUserRefCount; }; -template<class T> -class ObjectBaseRef +template<class T> +class ObjectBaseRef { public: ObjectBaseRef() { @@ -57,14 +61,14 @@ public: ObjectBaseRef(const ObjectBaseRef &ref) { mRef = ref.get(); if (mRef) { - mRef->incRef(); + mRef->incSysRef(); } } ObjectBaseRef(T *ref) { mRef = ref; if (mRef) { - ref->incRef(); + ref->incSysRef(); } } @@ -77,7 +81,7 @@ public: clear(); mRef = ref; if (mRef) { - ref->incRef(); + ref->incSysRef(); } } } @@ -88,7 +92,7 @@ public: void clear() { if (mRef) { - mRef->decRef(); + mRef->decSysRef(); } mRef = NULL; } @@ -97,8 +101,8 @@ public: return mRef; } - inline T * operator-> () const { - return mRef; + inline T * operator-> () const { + return mRef; } protected: |
