Enlightenment CVS committal Author : mej Project : eterm Module : libast
Dir : eterm/libast/src Modified Files: obj.c Log Message: Sat Nov 1 13:56:22 2003 Michael Jennings (mej) Documentation updates for doxygen 1.3.x. =================================================================== RCS file: /cvsroot/enlightenment/eterm/libast/src/obj.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- obj.c 4 Jul 2003 03:38:26 -0000 1.14 +++ obj.c 1 Nov 2003 18:56:43 -0000 1.15 @@ -25,15 +25,14 @@ * @file obj.c * LibAST Object Infrastructure -- Generic Objects * - * This file contains the basic object class along with its smaller - * (non-object) analogue, the "null" object. + * This file contains the basic object class. * * @author Michael Jennings <[EMAIL PROTECTED]> - * $Revision: 1.14 $ - * $Date: 2003/07/04 03:38:26 $ + * $Revision: 1.15 $ + * $Date: 2003/11/01 18:56:43 $ */ -static const char cvs_ident[] = "$Id: obj.c,v 1.14 2003/07/04 03:38:26 mej Exp $"; +static const char cvs_ident[] = "$Id: obj.c,v 1.15 2003/11/01 18:56:43 mej Exp $"; #ifdef HAVE_CONFIG_H # include <config.h> @@ -42,6 +41,7 @@ #include <libast_internal.h> /* *INDENT-OFF* */ +/* The actual class structure for the "obj" type. */ static SPIF_CONST_TYPE(class) o_class = { SPIF_DECL_CLASSNAME(obj), (spif_func_t) spif_obj_new, @@ -53,9 +53,45 @@ (spif_func_t) spif_obj_dup, (spif_func_t) spif_obj_type }; + +/* + * The class instance for the "obj" type...a pointer to the struct + * above. This pointer value is the very first thing stored in each + * instance of an "obj." + */ SPIF_TYPE(class) SPIF_CLASS_VAR(obj) = &o_class; /* *INDENT-ON* */ + + +/[EMAIL PROTECTED]/ +/** + * @name Generic Object Member Functions + * --- + * + * These functions are members of the @c obj class. They can be + * called directly or via the macros which dereference the function + * pointers in the @c obj class structure. By convention, functions + * are called directly when the object type is known and via macros + * when the type is unknown. + * + * Most of these functions are not intended to actually be called. + * Rather, they serve as models for the implementation of standard + * methods in other (derived) object types. + * + * @ingroup DOXGRP_OBJ + */ + +/** + * Create a new @c obj instance. + * + * This function creates and returns a new instance of an @c obj. The + * new instance is initialized using the spif_obj_init() function. + * + * @return A new @c obj instance. + * + * @see DOXGRP_OBJ + */ spif_obj_t spif_obj_new(void) { @@ -66,6 +102,19 @@ return self; } +/** + * Delete an @c obj instance. + * + * This function deletes an instance of an @c obj. The done method, + * spif_obj_done(), is called to free any object resources prior to + * deallocation of the object itself. + * + * @param self The @c obj instance to be deleted. + * @return #TRUE if successful, #FALSE otherwise. + * + * @see DOXGRP_OBJ + * @ingroup DOXGRP_OBJ + */ spif_bool_t spif_obj_del(spif_obj_t self) { @@ -75,6 +124,18 @@ return TRUE; } +/** + * Initialize an @c obj instance. + * + * This function initializes the member variables of the @c obj + * instance to their appropriate "bootstrap" values. + * + * @param self The @c obj instance to be initialized. + * @return #TRUE if successful, #FALSE otherwise. + * + * @see DOXGRP_OBJ + * @ingroup DOXGRP_OBJ + */ spif_bool_t spif_obj_init(spif_obj_t self) { @@ -82,6 +143,18 @@ return TRUE; } +/** + * Deallocate and reinitialize @c obj resources. + * + * This function frees up any object resources and re-initializes them + * to their "bootstrap" values. + * + * @param self The @c obj instance to be zeroed and reinitialized. + * @return #TRUE if successful, #FALSE otherwise. + * + * @see DOXGRP_OBJ + * @ingroup DOXGRP_OBJ + */ spif_bool_t spif_obj_done(spif_obj_t self) { @@ -147,6 +220,8 @@ return SPIF_OBJ_CLASSNAME(self); } +/[EMAIL PROTECTED]/ + /** @@ -200,7 +275,7 @@ * Example code for using the LibAST Object Infrastructure * * This is a contrived, but informational, example of using LibAST's - * object system. <MORE HERE> + * object system. MORE HERE * * Here's the complete source code: */ ------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs