Gnash  0.8.10
ExternalInterface XML API

Whatis the External Interface

a swf file being played in the flash player has an interactive protocol so the player and the browser can communicate. This is used as an XML-RPC operation, the browser often making requests to the player for information about it's status, or retrieving the values of a variable like "$version".

A plugin that supports this interface is called a Scriptable Plugin. There is luckily a short defined list of these remote methods that can be invoked.

callback prototypes

As these callbacks use a generalized typedef for the signature, often some of the parameters can be ignored. These are commented out in the function definition to elimnate the volumnes of bogus warnings about not using them in the method.

return codes

Although all these callbacks return a boolean value, this is not used by the API at all, just internally to the plugin. All return values are encoded into the "result" parameter. Many of the callbacks don't have a result at all, which is good as the flash player blocks after sending a request to the player while waiting for a response. So not having to wait can be a good thing to avoid issues.