[project @ 2005-07-26 23:16:21 by jmb]

Implement plugin streams properly (can now have multiple, simultaneous streams to a plugin).
Fix race condition when performing non-file streams.
Support for GETting an URL and streaming it to a plugin (this is untested, due to a lack of access to plugins that actually use this functionality).
General source tidyup.

svn path=/import/netsurf/; revision=1824
This commit is contained in:
John Mark Bell 2005-07-26 23:16:21 +00:00
parent 4b4e4dba95
commit 784ffb42e6
2 changed files with 535 additions and 165 deletions

File diff suppressed because it is too large Load Diff

View File

@ -16,25 +16,23 @@ struct box;
struct browser_window;
struct content;
struct object_params;
struct plugin_stream;
/* We have one content per instance of a plugin */
struct content_plugin_data {
struct browser_window *bw; /* window containing this content */
struct content *page; /* parent content */
struct box *box; /* box containing this content */
char *taskname; /* plugin task to launch */
char *filename; /* filename of parameters file */
char *datafile; /* filename of filestreamed file */
bool opened; /* has this plugin been opened? */
int repeated; /* indication of opening state */
unsigned int browser; /* browser handle */
unsigned int plugin; /* plugin handle */
unsigned int browser_stream; /* browser stream handle */
unsigned int plugin_stream; /* plugin stream handle */
unsigned int plugin_task; /* plugin task handle */
unsigned int consumed; /* size of data consumed by plugin */
bool reformat_pending; /* is a reformat pending? */
int width, height; /* reformat width & height */
bool file_stream_waiting; /* waiting to stream as file */
struct plugin_stream *streams; /* list of active streams */
};
/* function definitions */