File: //usr/include/libbonobo-2.0/bonobo/bonobo-item-handler.h
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/**
* bonobo-item-handler.h: a generic ItemContainer handler for monikers.
*
* Author:
* Miguel de Icaza (miguel@kernel.org)
*
* Copyright 1999, 2000 Helix Code, Inc.
* Copyright 1999, 2000 Miguel de Icaza
*/
#ifndef _BONOBO_ITEM_HANDLER_H_
#define _BONOBO_ITEM_HANDLER_H_
#include <bonobo/bonobo-object.h>
G_BEGIN_DECLS
#define BONOBO_TYPE_ITEM_HANDLER (bonobo_item_handler_get_type ())
#define BONOBO_ITEM_HANDLER_TYPE BONOBO_TYPE_ITEM_HANDLER /* deprecated, you should use BONOBO_TYPE_ITEM_HANDLER */
#define BONOBO_ITEM_HANDLER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), BONOBO_TYPE_ITEM_HANDLER, BonoboItemHandler))
#define BONOBO_ITEM_HANDLER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), BONOBO_TYPE_ITEM_HANDLER, BonoboItemHandlerClass))
#define BONOBO_IS_ITEM_HANDLER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), BONOBO_TYPE_ITEM_HANDLER))
#define BONOBO_IS_ITEM_HANDLER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), BONOBO_TYPE_ITEM_HANDLER))
typedef struct _BonoboItemHandlerPrivate BonoboItemHandlerPrivate;
typedef struct _BonoboItemHandler BonoboItemHandler;
typedef Bonobo_ItemContainer_ObjectNames *(*BonoboItemHandlerEnumObjectsFn)
(BonoboItemHandler *h, gpointer data, CORBA_Environment *);
typedef Bonobo_Unknown (*BonoboItemHandlerGetObjectFn)
(BonoboItemHandler *h, const char *item_name, gboolean only_if_exists,
gpointer data, CORBA_Environment *ev);
struct _BonoboItemHandler {
BonoboObject base;
POA_Bonobo_ItemContainer__epv epv;
BonoboItemHandlerPrivate *priv;
};
typedef struct {
BonoboObjectClass parent_class;
POA_Bonobo_ItemContainer__epv epv;
} BonoboItemHandlerClass;
GType bonobo_item_handler_get_type (void) G_GNUC_CONST;
BonoboItemHandler *bonobo_item_handler_new (BonoboItemHandlerEnumObjectsFn enum_objects,
BonoboItemHandlerGetObjectFn get_object,
gpointer user_data);
BonoboItemHandler *bonobo_item_handler_new_closure (GClosure *enum_objects,
GClosure *get_object);
BonoboItemHandler *bonobo_item_handler_construct (BonoboItemHandler *handler,
GClosure *enum_objects,
GClosure *get_object);
/* Utility functions that can be used by getObject routines */
typedef struct {
char *key;
char *value;
} BonoboItemOption;
GSList *bonobo_item_option_parse (const char *option_string);
void bonobo_item_options_free (GSList *options);
G_END_DECLS
#endif