* plugins/document-manager/plugin.c:
[anjuta-git-plugin.git] / libanjuta / anjuta-glue-factory.h
blob09991ae61e844b041fe06abbc94517186df83a03
1 #ifndef __ANJUTA_GLUE_FACTORY_H__
2 #define __ANJUTA_GLUE_FACTORY_H__
4 #include <glib-object.h>
6 #include <anjuta-plugin-manager.h>
8 G_BEGIN_DECLS
10 #define ANJUTA_GLUE_TYPE_FACTORY (anjuta_glue_factory_get_type ())
11 #define ANJUTA_GLUE_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ANJUTA_GLUE_TYPE_FACTORY, AnjutaGlueFactory))
12 #define ANJUTA_GLUE_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ANJUTA_GLUE_TYPE_FACTORY, AnjutaGlueFactoryClass))
13 #define ANJUTA_GLUE_IS_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ANJUTA_GLUE_TYPE_FACTORY))
14 #define ANJUTA_GLUE_IS_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((obj), ANJUTA_GLUE_TYPE_FACTORY))
15 #define ANJUTA_GLUE_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), ANJUTA_GLUE_TYPE_FACTORY, AnjutaGlueFactoryClass))
17 typedef struct
19 const gchar *path;
20 GHashTable *loaded_plugins;
21 } PathEntry;
23 typedef struct _AnjutaGlueFactory AnjutaGlueFactory;
24 typedef struct _AnjutaGlueFactoryClass AnjutaGlueFactoryClass;
26 GType anjuta_glue_factory_get_type (void);
27 AnjutaGlueFactory *anjuta_glue_factory_new (void);
28 gboolean anjuta_glue_factory_add_path (AnjutaGlueFactory *factory,
29 const char *path);
30 GType anjuta_glue_factory_get_object_type (AnjutaGlueFactory *factory,
31 const gchar *component_name,
32 const gchar *type_name,
33 const gboolean resident,
34 const GType language);
36 GObject *anjuta_glue_factory_create_object (AnjutaGlueFactory *factory,
37 const gchar *component_name,
38 const gchar *type_name,
39 const gboolean resident,
40 const GType language,
41 ...);
42 GList* anjuta_glue_factory_get_path (AnjutaGlueFactory *factory);
44 G_END_DECLS
45 #endif /* __ANJUTA_GLUE_FACTORY_H__ */