1/* libpeas-1.0.vapi generated by vapigen, do not modify. */
2
3[CCode (cprefix = "Peas", gir_namespace = "Peas", gir_version = "1.0", lower_case_cprefix = "peas_")]
4namespace Peas {
5	[CCode (cheader_filename = "libpeas/peas.h", type_id = "peas_engine_get_type ()")]
6	public class Engine : GLib.Object {
7		[CCode (has_construct_function = false)]
8		public Engine ();
9		public void add_search_path (string module_dir, string? data_dir);
10		public Peas.Extension create_extension (Peas.PluginInfo info, GLib.Type extension_type, ...);
11		[Version (since = "1.24")]
12		public Peas.Extension create_extension_with_properties (Peas.PluginInfo info, GLib.Type extension_type, [CCode (array_length_cname = "n_properties", array_length_pos = 2.5, array_length_type = "guint")] string[] prop_names, [CCode (array_length_cname = "n_properties", array_length_pos = 2.5, array_length_type = "guint")] GLib.Value[] prop_values);
13		public Peas.Extension create_extensionv (Peas.PluginInfo info, GLib.Type extension_type, [CCode (array_length_cname = "n_parameters", array_length_pos = 2.5, array_length_type = "guint")] GLib.Parameter[]? parameters);
14		public void enable_loader (string loader_name);
15		public void garbage_collect ();
16		public static unowned Peas.Engine get_default ();
17		[CCode (array_length = false, array_null_terminated = true)]
18		public string[] get_loaded_plugins ();
19		public unowned Peas.PluginInfo get_plugin_info (string plugin_name);
20		public unowned GLib.List<Peas.PluginInfo> get_plugin_list ();
21		[Version (since = "1.6")]
22		public void prepend_search_path (string module_dir, string? data_dir);
23		public bool provides_extension (Peas.PluginInfo info, GLib.Type extension_type);
24		public void rescan_plugins ();
25		public void set_loaded_plugins ([CCode (array_length = false, array_null_terminated = true)] string[]? plugin_names);
26		[CCode (cname = "peas_engine_load_plugin")]
27		public bool try_load_plugin (Peas.PluginInfo info);
28		[CCode (cname = "peas_engine_unload_plugin")]
29		public bool try_unload_plugin (Peas.PluginInfo info);
30		[CCode (has_construct_function = false)]
31		[Version (since = "1.14")]
32		public Engine.with_nonglobal_loaders ();
33		[CCode (array_length = false, array_null_terminated = true)]
34		public string[] loaded_plugins { owned get; set; }
35		[NoAccessorMethod]
36		[Version (since = "1.14")]
37		public bool nonglobal_loaders { get; construct; }
38		public void* plugin_list { get; }
39		public virtual signal void load_plugin (Peas.PluginInfo info);
40		public virtual signal void unload_plugin (Peas.PluginInfo info);
41	}
42	[CCode (cheader_filename = "libpeas/peas.h")]
43	public class Extension : GLib.Object {
44		[CCode (has_construct_function = false)]
45		protected Extension ();
46	}
47	[CCode (cheader_filename = "libpeas/peas.h", type_id = "peas_extension_base_get_type ()")]
48	public abstract class ExtensionBase : GLib.Object {
49		[CCode (has_construct_function = false)]
50		protected ExtensionBase ();
51		public string get_data_dir ();
52		public unowned Peas.PluginInfo get_plugin_info ();
53		public string data_dir { owned get; }
54		public Peas.PluginInfo plugin_info { get; construct; }
55	}
56	[CCode (cheader_filename = "libpeas/peas.h", type_id = "peas_extension_set_get_type ()")]
57	public class ExtensionSet : GLib.Object {
58		[CCode (has_construct_function = false)]
59		public ExtensionSet (Peas.Engine? engine, GLib.Type exten_type, ...);
60		[NoWrapper]
61		public virtual bool call (string method_name, GI.Argument args);
62		[Version (since = "1.2")]
63		public void @foreach (Peas.ExtensionSetForeachFunc func);
64		public unowned Peas.Extension get_extension (Peas.PluginInfo info);
65		[CCode (cname = "peas_extension_set_newv", has_construct_function = false)]
66		public ExtensionSet.newv (Peas.Engine? engine, GLib.Type exten_type, [CCode (array_length_cname = "n_parameters", array_length_pos = 2.5, array_length_type = "guint")] GLib.Parameter[] parameters);
67		[CCode (has_construct_function = false)]
68		public ExtensionSet.with_properties (Peas.Engine? engine, GLib.Type exten_type, [CCode (array_length_cname = "n_properties", array_length_pos = 2.5, array_length_type = "guint")] string[] prop_names, [CCode (array_length_cname = "n_properties", array_length_pos = 2.5, array_length_type = "guint")] GLib.Value[] prop_values);
69		[NoAccessorMethod]
70		public void* construct_properties { construct; }
71		[NoAccessorMethod]
72		public Peas.Engine engine { owned get; construct; }
73		[NoAccessorMethod]
74		public GLib.Type extension_type { get; construct; }
75		public virtual signal void extension_added (Peas.PluginInfo info, GLib.Object exten);
76		public virtual signal void extension_removed (Peas.PluginInfo info, GLib.Object exten);
77	}
78	[CCode (cheader_filename = "libpeas/peas.h", type_id = "peas_object_module_get_type ()")]
79	public class ObjectModule : GLib.TypeModule, GLib.TypePlugin {
80		[CCode (has_construct_function = false)]
81		protected ObjectModule ();
82		public void register_extension_factory (GLib.Type exten_type, owned Peas.FactoryFunc factory_func);
83		public void register_extension_type (GLib.Type exten_type, GLib.Type impl_type);
84		[NoAccessorMethod]
85		public bool local_linkage { get; construct; }
86		[NoAccessorMethod]
87		public string module_name { owned get; construct; }
88		[NoAccessorMethod]
89		public string path { owned get; construct; }
90		[NoAccessorMethod]
91		public bool resident { get; construct; }
92		[NoAccessorMethod]
93		public string symbol { owned get; construct; }
94	}
95	[CCode (cheader_filename = "libpeas/peas.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "peas_plugin_info_get_type ()")]
96	[Compact]
97	public class PluginInfo {
98		[CCode (array_length = false, array_null_terminated = true)]
99		public unowned string[] get_authors ();
100		public unowned string get_copyright ();
101		public unowned string get_data_dir ();
102		[CCode (array_length = false, array_null_terminated = true)]
103		public unowned string[] get_dependencies ();
104		public unowned string get_description ();
105		[Version (since = "1.6")]
106		public unowned string get_external_data (string key);
107		public unowned string get_help_uri ();
108		public unowned string get_icon_name ();
109		public unowned string get_module_dir ();
110		public unowned string get_module_name ();
111		public unowned string get_name ();
112		[Version (since = "1.4")]
113		public GLib.Settings get_settings (string? schema_id);
114		public unowned string get_version ();
115		public unowned string get_website ();
116		public bool has_dependency (string module_name);
117		public bool is_available () throws GLib.Error;
118		public bool is_builtin ();
119		public bool is_hidden ();
120		public bool is_loaded ();
121	}
122	[CCode (cheader_filename = "libpeas/peas.h", type_cname = "PeasActivatableInterface", type_id = "peas_activatable_get_type ()")]
123	public interface Activatable : GLib.Object {
124		public abstract void activate ();
125		public abstract void deactivate ();
126		public abstract void update_state ();
127		[NoAccessorMethod]
128		public abstract GLib.Object object { owned get; construct; }
129	}
130	[CCode (cheader_filename = "libpeas/peas.h", cprefix = "PEAS_PLUGIN_INFO_ERROR_")]
131	public errordomain PluginInfoError {
132		LOADING_FAILED,
133		LOADER_NOT_FOUND,
134		DEP_NOT_FOUND,
135		DEP_LOADING_FAILED;
136		public static GLib.Quark quark ();
137	}
138	[CCode (cheader_filename = "libpeas/peas.h", instance_pos = 3.9)]
139	[Version (since = "1.2")]
140	public delegate void ExtensionSetForeachFunc (Peas.ExtensionSet @set, Peas.PluginInfo info, Peas.Extension exten);
141	[CCode (cheader_filename = "libpeas/peas.h", instance_pos = 1.9)]
142	public delegate GLib.Object FactoryFunc ([CCode (array_length_cname = "n_parameters", array_length_pos = 0.5, array_length_type = "guint")] GLib.Parameter[] parameters);
143	[CCode (cheader_filename = "libpeas/peas.h")]
144	public static void cclosure_marshal_VOID__BOXED_OBJECT (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
145}
146