/* htop (C) 2004-2006 Hisham H. Muhammad Released under the GNU GPL, see the COPYING file in the source distribution for its full text. */ #include "Object.h" #include "RichString.h" #include "CRT.h" #include #include #include #include "debug.h" /*{ typedef struct Object_ Object; typedef void(*Object_Display)(Object*, RichString*); typedef int(*Object_Compare)(const Object*, const Object*); typedef void(*Object_Delete)(Object*); struct Object_ { char* class; Object_Display display; Object_Compare compare; Object_Delete delete; }; }*/ /* private property */ char* OBJECT_CLASS = "Object"; void Object_new() { Object* this; this = malloc(sizeof(Object)); this->class = OBJECT_CLASS; this->display = Object_display; this->compare = Object_compare; this->delete = Object_delete; } bool Object_instanceOf(Object* this, char* class) { return this->class == class; } void Object_delete(Object* this) { free(this); } void Object_display(Object* this, RichString* out) { char objAddress[50]; sprintf(objAddress, "%s @ %p", this->class, (void*) this); RichString_write(out, CRT_colors[DEFAULT_COLOR], objAddress); } int Object_compare(const Object* this, const Object* o) { return (this - o); }