void swfdec_load_object_create (SwfdecAsObject *target, const char *url, SwfdecBuffer *data, guint header_count, char **header_names, char **header_values, SwfdecLoadObjectProgress progress, SwfdecLoadObjectFinish finish) { SwfdecPlayer *player; SwfdecLoadObject *load; g_return_if_fail (SWFDEC_IS_AS_OBJECT (target)); g_return_if_fail (url != NULL); g_return_if_fail (header_count == 0 || header_names != NULL); g_return_if_fail (header_count == 0 || header_values != NULL); g_return_if_fail (finish != NULL); player = SWFDEC_PLAYER (swfdec_gc_object_get_context (target)); load = g_object_new (SWFDEC_TYPE_LOAD_OBJECT, NULL); swfdec_player_root_full (player, load, swfdec_load_object_mark, g_object_unref); load->target = target; load->url = url; load->buffer = data; load->header_count = header_count; load->header_names = header_names; load->header_values = header_values; load->progress = progress; load->finish = finish; /* get the current security */ g_assert (SWFDEC_AS_CONTEXT (player)->frame); load->sandbox = SWFDEC_SANDBOX (SWFDEC_AS_CONTEXT (player)->global); load->version = SWFDEC_AS_CONTEXT (player)->version; swfdec_player_request_resource (player, swfdec_load_object_request, load, NULL); }
void swfdec_system_security_loadPolicyFile (SwfdecAsContext *cx, SwfdecAsObject *object, guint argc, SwfdecAsValue *argv, SwfdecAsValue *ret) { SwfdecPlayer *player; const char *url_string; SwfdecURL *url; SWFDEC_AS_CHECK (0, NULL, "s", &url_string); player = SWFDEC_PLAYER (cx); url = swfdec_player_create_url (player, url_string); swfdec_player_request_resource (player, swfdec_system_security_do_loadPolicyFile, url, (GDestroyNotify) swfdec_url_free); }