input_stream: return allocated input_stream objects
Major API redesign: don't let the caller allocate the input_stream object. Let each input plugin allocate its own (derived/extended) input_stream pointer. The "data" attribute can now be removed, and all input plugins simply cast the input_stream pointer to their own structure (with an "struct input_stream base" as the first attribute).
This commit is contained in:
@@ -48,8 +48,7 @@ struct input_plugin {
|
||||
*/
|
||||
void (*finish)(void);
|
||||
|
||||
bool (*open)(struct input_stream *is, const char *url,
|
||||
GError **error_r);
|
||||
struct input_stream *(*open)(const char *uri, GError **error_r);
|
||||
void (*close)(struct input_stream *is);
|
||||
|
||||
struct tag *(*tag)(struct input_stream *is);
|
||||
|
||||
Reference in New Issue
Block a user