Lines Matching refs:rpo
42 GWEN_REFPTR_POBJECT *rpo; in GWEN_RefPtrObject_new() local
44 GWEN_NEW_OBJECT(GWEN_REFPTR_POBJECT, rpo); in GWEN_RefPtrObject_new()
45 rpo->refCount=1; in GWEN_RefPtrObject_new()
46 rpo->ptr=dp; in GWEN_RefPtrObject_new()
47 rpo->infoPtr=rpi; in GWEN_RefPtrObject_new()
50 return rpo; in GWEN_RefPtrObject_new()
55 void GWEN_RefPtrObject_free(GWEN_REFPTR_POBJECT *rpo) in GWEN_RefPtrObject_free() argument
57 if (rpo) { in GWEN_RefPtrObject_free()
58 assert(rpo->refCount); in GWEN_RefPtrObject_free()
59 if (--(rpo->refCount)==0) { in GWEN_RefPtrObject_free()
61 if ((rpo->flags & GWEN_REFPTR_FLAGS_AUTODELETE) && in GWEN_RefPtrObject_free()
62 rpo->infoPtr && in GWEN_RefPtrObject_free()
63 rpo->ptr) { in GWEN_RefPtrObject_free()
64 if (rpo->infoPtr->freeFn) in GWEN_RefPtrObject_free()
65 rpo->infoPtr->freeFn(rpo->ptr); in GWEN_RefPtrObject_free()
67 GWEN_FREE_OBJECT(rpo); in GWEN_RefPtrObject_free()
74 void GWEN_RefPtrObject_Attach(GWEN_REFPTR_POBJECT *rpo) in GWEN_RefPtrObject_Attach() argument
76 assert(rpo); in GWEN_RefPtrObject_Attach()
77 assert(rpo->refCount); in GWEN_RefPtrObject_Attach()
78 rpo->refCount++; in GWEN_RefPtrObject_Attach()