Enlightenment CVS committal
Author : mej
Project : eterm
Module : libast
Dir : eterm/libast/include/libast
Modified Files:
obj.h types.h.in
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/include/libast/obj.h,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -3 -r1.20 -r1.21
--- obj.h 31 Oct 2003 20:23:25 -0000 1.20
+++ obj.h 1 Nov 2003 18:56:43 -0000 1.21
@@ -25,6 +25,18 @@
#define _LIBAST_OBJ_H_
+/**
+ * @file obj.h
+ * LibAST Object Infrastructure -- Generic Objects
+ *
+ * This file contains macros and type definitions for creating and
+ * manipulating basic generic objects.
+ *
+ * @author Michael Jennings <[EMAIL PROTECTED]>
+ * $Revision: 1.21 $
+ * $Date: 2003/11/01 18:56:43 $
+ */
+
/[EMAIL PROTECTED]/
/**
* @name Object Definition and Declaration Macros
@@ -423,14 +435,13 @@
/**
* Access the class for a given object.
*
- * Every object has a member variable that references its @link
- * spif_class_t class @endlink. There is a single class object for
- * each individual object type, and all instances of that type
- * reference the same class object. If you know the type of an
- * object, you can use SPIF_CLASS_VAR() to access its class object
- * (i.e., the class object for that type). However, this macro can be
- * used to access the class object of @em any object, regardless of
- * whether or not you know its type.
+ * Every object has a member variable that references its class.
+ * There is a single class object for each individual object type, and
+ * all instances of that type reference the same class object. If you
+ * know the type of an object, you can use SPIF_CLASS_VAR() to access
+ * its class object (i.e., the class object for that type). However,
+ * this macro can be used to access the class object of @em any
+ * object, regardless of whether or not you know its type.
*
* @note This macro returns an object of type spif_class_t, so only
* methods common to all objects can be called using this macro.
@@ -440,7 +451,7 @@
* @param obj An object of arbitrary/unknown type.
* @return The class object for the given object.
*
- * @see DOXGRP_OBJ, SPIF_CLASS(), SPIF_OBJ(), spif_class_t
+ * @see DOXGRP_OBJ, SPIF_CLASS(), SPIF_OBJ()
*/
#define SPIF_OBJ_CLASS(obj) (SPIF_CLASS(SPIF_OBJ(obj)->cls))
@@ -464,12 +475,12 @@
* Call the named method for a given object.
*
* The methods which can be called on a given object are defined by
- * that object's @link spif_class_t class @endlink. Since all objects
- * are derived from spif_obj_t, and all classes are derived from
- * spif_class_t (the class type for "obj"), the methods defined by
- * spif_class_t can be called on any arbitrary object, regardless of
- * its actual object/class types. This macro provides the mechanism
- * by which this is done.
+ * that object's class. Since all objects are derived from
+ * spif_obj_t, and all classes are derived from spif_class_t (the
+ * class type for "obj"), the methods defined by spif_class_t can be
+ * called on any arbitrary object, regardless of its actual
+ * object/class types. This macro provides the mechanism by which
+ * this is done.
*
* @note This macro should not be called directly. It is used by the
* SPIF_OBJ_*() macros and as a template for interface classes.
@@ -662,18 +673,28 @@
*/
/**
- * @anchor spif_class_t
* Object class structure.
*
- * This class contains the object class structure.
+ * This class contains the object class structure. It contains the
+ * string representation of the class name followed by a series of
+ * function pointers to the member functions for the class. The basic
+ * class type contains methods that all objects require. The
+ * structure members should not be accessed directly, but rather via
+ * the appropriate macros.
+ *
+ * @note Doxygen doesn't understand how to handle the macro-based
+ * class definition for this structure, so it thinks it's a function.
+ * It's actually a struct definition (spif_const_class_t) and a
+ * pointer definition (spif_class_t) as provided by the
+ * SPIF_DEFINE_OBJ() macro.
+ *
+ * @see DOXGRP_OBJ, SPIF_OBJ_CALL_METHOD()
*/
SPIF_DECL_OBJ(class) {
/** Text representation of class name. */
spif_classname_t classname;
- /** Pointer to object's constructor. */
spif_func_t noo;
- /** Pointer to object's initializer. */
spif_func_t init;
spif_func_t done;
spif_func_t del;
@@ -685,6 +706,22 @@
/* An obj is the most basic object type. It contains simply a pointer to
the class name (a const char * so you can test it with ==). */
+
+/**
+ * Generic object structure.
+ *
+ * The @c obj type is the parent of all other object types. Since it
+ * doesn't actually store any data, the only member of the @c obj
+ * type is its spif_class_t
+ *
+ * @note Doxygen doesn't understand how to handle the macro-based
+ * class definition for this structure, so it thinks it's a function.
+ * It's actually a struct definition (spif_const_obj_t) and a pointer
+ * definition (spif_obj_t) as provided by the SPIF_DEFINE_OBJ()
+ * macro.
+ *
+ * @see DOXGRP_OBJ
+ */
SPIF_DECL_OBJ(obj) {
spif_class_t cls;
};
===================================================================
RCS file: /cvsroot/enlightenment/eterm/libast/include/libast/types.h.in,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- types.h.in 30 Oct 2003 23:13:53 -0000 1.11
+++ types.h.in 1 Nov 2003 18:56:43 -0000 1.12
@@ -98,7 +98,7 @@
* @param type The type basename.
* @return The full type name.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
#define SPIF_TYPE(type) spif_ ## type ## _t
@@ -111,7 +111,7 @@
* @param type The type basename.
* @return The full const type name.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
#define SPIF_CONST_TYPE(type) spif_const_ ## type ## _t
@@ -125,7 +125,7 @@
* @param type The type basename.
* @return The size of objects/structures of that type.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
#define SPIF_SIZEOF_TYPE(type) (sizeof(SPIF_CONST_TYPE(type)))
@@ -139,7 +139,7 @@
* @param t The type basename.
* @param u The actual type it's being mapped to.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
#define SPIF_DECL_TYPE(t, u) typedef u SPIF_CONST_TYPE(t); typedef
SPIF_CONST_TYPE(t) * SPIF_TYPE(t)
/[EMAIL PROTECTED]/
@@ -164,7 +164,7 @@
* @param type The type basename.
* @return An allocated object of the specified type.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
#define SPIF_ALLOC(type) SPIF_CAST(type)
MALLOC(SPIF_SIZEOF_TYPE(type))
@@ -176,7 +176,7 @@
*
* @param obj The object to be freed.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
#define SPIF_DEALLOC(obj) FREE(obj)
@@ -189,7 +189,7 @@
* @param type The type basename.
* @return A string representing the classname for that type.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
#define SPIF_DECL_CLASSNAME(type) "!spif_" #type "_t!"
/[EMAIL PROTECTED]/
@@ -212,7 +212,7 @@
* This macro is identical to traditional C typecasting and is
* supplied primarily for consistency.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
#define SPIF_CAST_C(type) (type)
@@ -223,7 +223,7 @@
* the @c const keyword is added to the typecast. It is supplied
* primarily for consistency.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
#define SPIF_CONST_CAST_C(type) (const type)
@@ -234,7 +234,7 @@
* basename. It is usually employed where emphasis on the basename is
* desired, particularly with objects.
*
- * @see DOXGRP_TYPES, SPIF_TYPE()
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink, SPIF_TYPE()
*/
#define SPIF_CAST(type) (SPIF_TYPE(type))
@@ -248,7 +248,7 @@
* terminology. This typecast applies const-ness (i.e., immutability)
* to an object or other value.
*
- * @see DOXGRP_TYPES, SPIF_TYPE(), SPIF_CAST()
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink, SPIF_TYPE(), SPIF_CAST()
*/
#define SPIF_CONST_CAST(type) (const SPIF_TYPE(type))
@@ -259,7 +259,7 @@
* type by its basename. It is usually employed where emphasis on the
* basename is desired, particularly with objects.
*
- * @see DOXGRP_TYPES, SPIF_TYPE()
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink, SPIF_TYPE()
*/
#define SPIF_CAST_PTR(type) (SPIF_TYPE(type) *)
@@ -273,7 +273,7 @@
* terminology. This typecast applies const-ness (i.e., immutability)
* to the object or other value referenced by the pointer.
*
- * @see DOXGRP_TYPES, SPIF_TYPE(), SPIF_CAST_PTR()
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink, SPIF_TYPE(), SPIF_CAST_PTR()
*/
#define SPIF_CONST_CAST_PTR(type) (const SPIF_TYPE(type) *)
/[EMAIL PROTECTED]/
@@ -300,7 +300,7 @@
* @param type The type basename.
* @return A NULL object of the specified type.
*
- * @see DOXGRP_TYPES, SPIF_CAST()
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink, SPIF_CAST()
*/
#define SPIF_NULL_TYPE(type) (SPIF_CAST(type) (NULL))
@@ -313,7 +313,7 @@
* @param type The native C type.
* @return A NULL value of the specified type.
*
- * @see DOXGRP_TYPES, SPIF_CAST_C()
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink, SPIF_CAST_C()
*/
#define SPIF_NULL_TYPE_C(type) (SPIF_CAST_C(type) (NULL))
@@ -329,7 +329,7 @@
* @return A string representation of a NULL object of the
* specified type.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
#define SPIF_NULLSTR_TYPE(type) "{ ((spif_" #type "_t) NULL) }"
@@ -345,7 +345,7 @@
* @return A string representation of a NULL value of the
* specified C type.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
#define SPIF_NULLSTR_TYPE_C(type) "{ ((" #type ") NULL) }"
/[EMAIL PROTECTED]/
@@ -374,7 +374,7 @@
*
* An 8-bit signed integer.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef signed @INT_8_TYPE@ spif_int8_t;
@@ -383,7 +383,7 @@
*
* An 8-bit unsigned integer.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef unsigned @INT_8_TYPE@ spif_uint8_t;
@@ -392,7 +392,7 @@
*
* A 16-bit signed integer.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef signed @INT_16_TYPE@ spif_int16_t;
@@ -401,7 +401,7 @@
*
* A 16-bit unsigned integer.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef unsigned @INT_16_TYPE@ spif_uint16_t;
@@ -410,7 +410,7 @@
*
* A 32-bit signed integer.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef signed @INT_32_TYPE@ spif_int32_t;
@@ -419,7 +419,7 @@
*
* A 32-bit unsigned integer.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef unsigned @INT_32_TYPE@ spif_uint32_t;
@@ -428,7 +428,7 @@
*
* A 64-bit signed integer.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef signed @INT_64_TYPE@ spif_int64_t;
@@ -437,7 +437,7 @@
*
* A 64-bit unsigned integer.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef unsigned @INT_64_TYPE@ spif_uint64_t;
/[EMAIL PROTECTED]/
@@ -460,7 +460,7 @@
*
* A signed char.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef signed char spif_char_t;
@@ -469,7 +469,7 @@
*
* A signed short.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef signed short spif_short_t;
@@ -478,7 +478,7 @@
*
* A signed int.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef signed int spif_int_t;
@@ -487,7 +487,7 @@
*
* A signed long.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef signed long spif_long_t;
@@ -496,7 +496,7 @@
*
* An unsigned char.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef unsigned char spif_uchar_t;
@@ -505,7 +505,7 @@
*
* An unsigned short.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef unsigned short spif_ushort_t;
@@ -514,7 +514,7 @@
*
* An unsigned int.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef unsigned int spif_uint_t;
@@ -523,7 +523,7 @@
*
* An unsigned long.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef unsigned long spif_ulong_t;
@@ -532,7 +532,7 @@
*
* A pointer to a signed char.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef spif_char_t *spif_charptr_t;
@@ -541,7 +541,7 @@
*
* A generic, untyped pointer.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef void *spif_ptr_t;
@@ -550,7 +550,7 @@
*
* A generic function pointer.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef void * (*spif_func_t)();
@@ -561,7 +561,7 @@
* this point I can't imagine it needing to be anything else, but one
* never knows....
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef const spif_charptr_t spif_classname_t;
@@ -589,7 +589,7 @@
* used for typecasting the protocol-based pointers (see below) to a
* generic type suitable for use as a parameter to socket functions.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
SPIF_DECL_TYPE(sockaddr, struct sockaddr);
@@ -600,7 +600,7 @@
* This type references an IPv4 socket address structure. It is used
* to store IP addressing information for a given socket.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
SPIF_DECL_TYPE(ipsockaddr, struct sockaddr_in);
@@ -611,7 +611,7 @@
* This type references a UNIX socket address structure. It is used
* to store addressing information for a given UNIX socket.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
SPIF_DECL_TYPE(unixsockaddr, struct sockaddr_un);
@@ -621,7 +621,7 @@
* @internal
* This type references an IPv4 address in native host format.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
SPIF_DECL_TYPE(ipaddr, struct in_addr);
@@ -631,7 +631,7 @@
* @internal
* This type references host information in native host format.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
SPIF_DECL_TYPE(hostinfo, struct hostent);
@@ -641,7 +641,7 @@
* @internal
* This type references protocol information in native host format.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
SPIF_DECL_TYPE(protoinfo, struct protoent);
@@ -651,7 +651,7 @@
* @internal
* This type references service information in native host format.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
SPIF_DECL_TYPE(servinfo, struct servent);
@@ -661,7 +661,7 @@
* This type encapsulates the actual type of the socket file
* descriptor.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef int spif_sockfd_t;
@@ -671,7 +671,7 @@
* This type encapsulates the actual representation of the protocol
* family.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef int spif_sockfamily_t;
@@ -681,7 +681,7 @@
* This type encapsulates the actual representation of the socket
* type.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef int spif_socktype_t;
@@ -691,7 +691,7 @@
* This type encapsulates the actual representation of a socket
* protocol.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef int spif_sockproto_t;
@@ -701,7 +701,7 @@
* This type encapsulates the actual representation of a socket's
* port.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef spif_uint16_t spif_sockport_t;
@@ -711,7 +711,7 @@
* This type encapsulates the actual representation of the size of a
* socket address structure.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef socklen_t spif_sockaddr_len_t;
/[EMAIL PROTECTED]/
@@ -741,7 +741,7 @@
* improve readability and simplify conversion from other comparison
* functions.
*
- * @see DOXGRP_TYPES, SPIF_CMP_FROM_INT(), SPIF_CMP_IS_LESS(),
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink, SPIF_CMP_FROM_INT(),
SPIF_CMP_IS_LESS(),
* SPIF_CMP_IS_EQUAL(), SPIF_CMP_IS_GREATER()
*/
typedef enum {
@@ -765,7 +765,7 @@
* @param i A traditional integer comparison value.
* @return The corresponding spif_cmp_t value.
*
- * @see DOXGRP_TYPES, spif_cmp_t
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink, spif_cmp_t
*/
#define SPIF_CMP_FROM_INT(i) (((i) < 0) ? (SPIF_CMP_LESS) : (((i) > 0) ?
(SPIF_CMP_GREATER) : (SPIF_CMP_EQUAL)))
@@ -780,7 +780,7 @@
* @param cmp Comparison expression or value of type spif_cmp_t.
* @return True if the result is SPIF_CMP_LESS, false otherwise.
*
- * @see DOXGRP_TYPES, spif_cmp_t, SPIF_CMP_FROM_INT()
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink, spif_cmp_t,
SPIF_CMP_FROM_INT()
*/
#define SPIF_CMP_IS_LESS(cmp) ((cmp) == SPIF_CMP_LESS)
@@ -795,7 +795,7 @@
* @param cmp Comparison expression or value of type spif_cmp_t.
* @return True if the result is SPIF_CMP_EQUAL, false otherwise.
*
- * @see DOXGRP_TYPES, spif_cmp_t, SPIF_CMP_FROM_INT()
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink, spif_cmp_t,
SPIF_CMP_FROM_INT()
*/
#define SPIF_CMP_IS_EQUAL(cmp) ((cmp) == SPIF_CMP_EQUAL)
@@ -810,7 +810,7 @@
* @param cmp Comparison expression or value of type spif_cmp_t.
* @return True if the result is SPIF_CMP_GREATER, false otherwise.
*
- * @see DOXGRP_TYPES, spif_cmp_t, SPIF_CMP_FROM_INT()
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink, spif_cmp_t,
SPIF_CMP_FROM_INT()
*/
#define SPIF_CMP_IS_GREATER(cmp) ((cmp) == SPIF_CMP_GREATER)
@@ -835,7 +835,7 @@
* the spif_bool_t data type. For this and other reasons (namely
* readability), use of "TRUE" and "FALSE" is preferred.
*
- * @see DOXGRP_TYPES
+ * @see @link DOXGRP_TYPES Portable Data Types @endlink
*/
typedef enum {
#ifndef __cplusplus
-------------------------------------------------------
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