4 * Created by Toshi Nagata on 06/03/11.
5 * Copyright 2006-2008 Toshi Nagata. All rights reserved.
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation version 2 of the License.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
24 /* A "base object type" to implement reference counting
25 and management by unique names */
26 typedef struct Object {
32 void ObjectInit(Object *obj, Object **objRootPtr, const char *name);
33 int ObjectIncrRefCount(Object *obj);
34 int ObjectDecrRefCount(Object *obj);
35 void ObjectDealloc(Object *obj, Object **objRootPtr);
36 void ObjectSetName(Object *obj, const char *name, Object *objRoot);
37 const char *ObjectGetName(Object *obj);
38 Object *ObjectWithName(const char *name, Object *objRoot);
44 #endif /* __Object_h__ */