am 25c2af99: Merge "Add incStrong and decStrong methods to android_native_{window,buffer}_t." into kraken
This commit is contained in:
@@ -33,6 +33,15 @@ typedef struct android_native_buffer_t
|
|||||||
common.version = sizeof(android_native_buffer_t);
|
common.version = sizeof(android_native_buffer_t);
|
||||||
memset(common.reserved, 0, sizeof(common.reserved));
|
memset(common.reserved, 0, sizeof(common.reserved));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Implement the methods that sp<android_native_buffer_t> expects so that it
|
||||||
|
// can be used to automatically refcount android_native_buffer_t's.
|
||||||
|
void incStrong(const void* id) const {
|
||||||
|
common.incRef(const_cast<android_native_base_t*>(&common));
|
||||||
|
}
|
||||||
|
void decStrong(const void* id) const {
|
||||||
|
common.decRef(const_cast<android_native_base_t*>(&common));
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct android_native_base_t common;
|
struct android_native_base_t common;
|
||||||
|
|||||||
@@ -98,6 +98,15 @@ typedef struct android_native_window_t
|
|||||||
common.version = sizeof(android_native_window_t);
|
common.version = sizeof(android_native_window_t);
|
||||||
memset(common.reserved, 0, sizeof(common.reserved));
|
memset(common.reserved, 0, sizeof(common.reserved));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Implement the methods that sp<android_native_window_t> expects so that it
|
||||||
|
// can be used to automatically refcount android_native_window_t's.
|
||||||
|
void incStrong(const void* id) const {
|
||||||
|
common.incRef(const_cast<android_native_base_t*>(&common));
|
||||||
|
}
|
||||||
|
void decStrong(const void* id) const {
|
||||||
|
common.decRef(const_cast<android_native_base_t*>(&common));
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct android_native_base_t common;
|
struct android_native_base_t common;
|
||||||
@@ -291,6 +300,15 @@ namespace android {
|
|||||||
template <typename NATIVE_TYPE, typename TYPE, typename REF>
|
template <typename NATIVE_TYPE, typename TYPE, typename REF>
|
||||||
class EGLNativeBase : public NATIVE_TYPE, public REF
|
class EGLNativeBase : public NATIVE_TYPE, public REF
|
||||||
{
|
{
|
||||||
|
public:
|
||||||
|
// Disambiguate between the incStrong in REF and NATIVE_TYPE
|
||||||
|
void incStrong(const void* id) const {
|
||||||
|
REF::incStrong(id);
|
||||||
|
}
|
||||||
|
void decStrong(const void* id) const {
|
||||||
|
REF::decStrong(id);
|
||||||
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
typedef EGLNativeBase<NATIVE_TYPE, TYPE, REF> BASE;
|
typedef EGLNativeBase<NATIVE_TYPE, TYPE, REF> BASE;
|
||||||
EGLNativeBase() : NATIVE_TYPE(), REF() {
|
EGLNativeBase() : NATIVE_TYPE(), REF() {
|
||||||
|
|||||||
Reference in New Issue
Block a user