Exemple #1
0
/**
 * @brief Create a new plugin
 * @private
 *
 * @param name Plugin name.
 * @param directory Directory where the plugin is located.
 * @param context Context for the plugin.
 */
SquashPlugin*
squash_plugin_new (char* name, char* directory, SquashContext* context) {
  SquashPlugin* plugin = (SquashPlugin*) malloc (sizeof (SquashPlugin));

  plugin->name = name;
  plugin->license = NULL;
  plugin->context = context;
  plugin->directory = directory;
  plugin->plugin = NULL;
  SQUASH_TREE_ENTRY_INIT(plugin->tree);
  SQUASH_TREE_INIT(&(plugin->codecs), squash_codec_compare);

  return plugin;
}
Exemple #2
0
/**
 * @brief Create a new codec
 * @private
 *
 * @param plugin Plugin to which this codec belongs
 * @param name Name of the codec
 */
SquashCodec*
squash_codec_new (SquashPlugin* plugin, const char* name) {
  SquashCodec* codecp = (SquashCodec*) malloc (sizeof (SquashCodec));
  SquashCodec codec = { 0, };

  codec.plugin = plugin;
  codec.name = strdup (name);
  codec.priority = 50;
  SQUASH_TREE_ENTRY_INIT(codec.tree);

  *codecp = codec;

  /* squash_plugin_add_codec (plugin, codecp); */

  return codecp;
}