SwfdecPlayerScripting — integration with external scripts


#include <swfdec/swfdec.h>


Object Hierarchy



The SwfdecPlayerScripting object is used to implement the ExternalInterface object inside Flash. By providing your own custom implementation of this object using swfdec_player_set_scripting(), you can allow a Flash file to call your own custom functions. And you can call functions inside the Flash player.

The functions are emitted using a custom XML format. The same format is used to call functions in the Flash player. FIXME: describe the XML format in use.



typedef struct _SwfdecPlayerScripting SwfdecPlayerScripting;

The object you have to create.


typedef struct {
  char *		(* js_get_id)	(SwfdecPlayerScripting *scripting,
					 SwfdecPlayer *		player);
  char *		(* js_call)	(SwfdecPlayerScripting *scripting,
					 SwfdecPlayer *         player,
					 const char *		code);
  char *		(* xml_call)	(SwfdecPlayerScripting *scripting,
					 SwfdecPlayer *         player,
					 const char *		xml);
} SwfdecPlayerScriptingClass;

You have to implement the virtual functions in this object to get a working scripting implementation.

js_get_id ()

optional function. Returns the string by which the scripting object can reference itself in calls to the js_call function.

js_call ()

optional function. Emits Javascript code that you have to interpret. You must also implement the js_get_id function to make this function work. The return value must be in the custom XML format.

xml_call ()

optional function. If the Javascript functions aren't implemented, an xml format is used to encode the function call and the call is then done using this function. The return value is to be provided in the same custom XML format.