Implements all methods of ICommon interface. More...
#include <Common.h>

Public Member Functions | |
| virtual int32 | retain () |
| Add a reference to our object in a COM-like way. | |
| virtual int32 | release () |
| Release a reference to our object in a COM-like way. | |
| virtual int32 | hold () |
| Add a reference to our object in a COM-like way. | |
| virtual int32 | unhold () |
| Release a reference to our object in a COM-like way. | |
| virtual int32 | hashCode () |
| Returns an integer hash code for this object. | |
| virtual bool | equals (const GCommonObj &o) |
| Compares this instance with the specified object and indicates if they are equal. | |
| virtual GString | toString () |
| Returns a string containing a concise, human-readable description of this object. | |
| virtual void | attachObject (const GCommon &obj) |
| virtual GCommon | extractObject () |
Static Public Member Functions | |
| static int32 | hashCode (int64 value) |
| Calculates hash code (32-bit value) of 64-bit value. | |
Protected Member Functions | |
| Common () | |
| Our constructor. More... | |
| virtual | ~Common () |
| Our destructor is here simply to create an entry in the vtable to ensure derived classes destruct correctly. | |
Protected Member Functions inherited from Glympse::CommonStorage | |
| void | attachObject (const GCommon &obj) |
| GCommon | extractObject () |
Additional Inherited Members | |
Protected Attributes inherited from Glympse::CommonStorage | |
| int32 | _ref |
| Our private ref count. | |
| int32 | _holders |
| A number of external referrers associated with the attached object. | |
| GCommon | _attachedObject |
| Arbitrary object attached externally. | |
Implements all methods of ICommon interface.
All interfaces on the system extend ICommon. Every class on the system should use this helper to avoid implementing all ICommon methods on its own. Some classes will still decide to override hashCode() and equals().
|
inlineprotected |
Our constructor.
Protected for now since I don't think anyone should ever need to create an Object by itself. It is intended to be used only as a base class.
1.8.4