| GObject Reference Manual |
|---|
In your code, the first step is to #include the needed headers: depending
on your header include strategy, this can be as simple as
#include "maman-bar.h" or as complicated as tens
of #include lines ending with #include "maman-bar.h":
/*
* Copyright information
*/
#include "maman-bar.h"
/* If you use Pimpls, include the private structure
* definition here. Some people create a maman-bar-private.h header
* which is included by the maman-bar.c file and which contains the
* definition for this private structure.
*/
struct _MamanBarPrivate {
int member_1;
/* stuff */
};
/*
* forward definitions
*/
Call the G_DEFINE_TYPE macro using the name
of the type, the prefix of the functions and the parent GType to
reduce the amount of boilerplate needed. This macro will:
maman_bar_get_type
function
G_DEFINE_TYPE (MamanBar, maman_bar, G_TYPE_OBJECT)
It is also possible to use the
G_DEFINE_TYPE_WITH_CODE macro to control the
get_type function implementation - for instance, to add a call to
G_IMPLEMENT_INTERFACE macro which will
call the g_type_implement_interface function,
or call the G_ADD_PRIVATE macro will add an
instance private data structure.