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