(C) 1998 AROS - The Amiga Research OS


NAME
#include <intuition/classes.h>
#include <proto/boopsi.h>

struct IClass * MakeClass (classID , superClassID , superClassPtr , instanceSize , flags)

LOCATION
In BOOPSIBase at offset 10

SYNOPSIS
UBYTE * classID
UBYTE * superClassID
struct IClass * superClassPtr
ULONG instanceSize
ULONG flags

FUNCTION
Only for class implementators.

This function creates a new public BOOPSI class. The SuperClass should be another BOOPSI class; all BOOPSI classes are subclasses of the ROOTCLASS.

SuperClasses can by private or public. You can specify a name/ID for the class if you want it to become a public class. For public classes, you must call AddClass() afterwards to make it public accessible.

The return value contains a pointer to the IClass structure of your class. You must specify your dispatcher in cl_Dispatcher. You can also store shared data in cl_UserData.

To get rid of the class, you must call FreeClass().

INPUTS
classID
NULL for private classes otherwise the name/ID of the public class.
superClassID
Name/ID of a public SuperClass. NULL is you don't want to use a public SuperClass or if you have the pointer your SuperClass.
superClassPtr
Pointer to the SuperClass. If this is non-NULL, then superClassID is ignored.
instanceSize
The amount of memory which your objects need (in addition to the memory which is needed by the SuperClass(es))
flags
For future extensions. To maintain comaptibility, use 0 for now.

RESULT
Pointer to the new class or NULL if - There wasn't enough memory - The superclass couldn't be found - There already is a class with the same name/ID.

EXAMPLE

SEE ALSO

NOTES
No copy is made of classID. So make sure the lifetime of the contents of classID is at least the same as the lifetime of the class itself.

BUGS

INTERNALS

HISTORY
20.10.1998 hkiel
Amiga Research OS
23.10.1997 digulla
Added files from iaint