10#ifndef __PLUGINS_PLUGIN_COLLECTION_H__
11#define __PLUGINS_PLUGIN_COLLECTION_H__
22#define PLUGIN_COLLECTION_SCHEMA_VERSION 1
40 size_t descriptors_size;
43static const cyaml_schema_field_t plugin_collection_fields_schema[] = {
50 plugin_descriptor_schema),
55static const cyaml_schema_value_t plugin_collection_schema = {
void plugin_collection_add_descriptor(PluginCollection *self, const PluginDescriptor *descr)
Appends a descriptor to the collection.
PluginCollection * plugin_collection_clone(const PluginCollection *self)
Clones a plugin collection.
NONNULL bool plugin_collection_contains_descriptor(PluginCollection *self, const PluginDescriptor *descr, bool match_pointer)
Returns whether the collection contains the given descriptor.
void plugin_collection_clear(PluginCollection *self)
Removes all the descriptors.
void plugin_collection_remove_descriptor(PluginCollection *self, const PluginDescriptor *descr)
Removes the descriptor matching the given one from the collection.
PluginCollection * plugin_collection_new(void)
Creates a new plugin collection.
#define YAML_VALUE_PTR(cc, fields_schema)
Schema to be used as a pointer.
#define YAML_FIELD_DYN_PTR_ARRAY_VAR_COUNT(owner, member, schema)
Dynamic-width (reallocated) array of pointers with variable count.
Plugin collection used in the plugin browser.
char * description
Description of the collection (optional).
PluginDescriptor ** descriptors
Plugin descriptors.
char * name
Name of the collection.