[r2492]: / osmf / trunk / samples / ChromeLibrary / src / org / osmf / chrome / configuration / PluginsParser.as  Maximize  Restore  History

Download this file

70 lines (62 with data), 2.2 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/*****************************************************
*
* Copyright 2010 Adobe Systems Incorporated. All Rights Reserved.
*
*****************************************************
* The contents of this file are subject to the Mozilla Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
* License for the specific language governing rights and limitations
* under the License.
*
*
* The Initial Developer of the Original Code is Adobe Systems Incorporated.
* Portions created by Adobe Systems Incorporated are Copyright (C) 2010 Adobe Systems
* Incorporated. All Rights Reserved.
*
*****************************************************/
package org.osmf.chrome.configuration
{
import flash.events.Event;
import flash.events.EventDispatcher;
import org.osmf.events.MediaFactoryEvent;
import org.osmf.media.MediaFactory;
import org.osmf.media.URLResource;
[Event(name="complete", type="flash.events.Event")]
public class PluginsParser extends EventDispatcher
{
public function parse(pluginsList:XMLList, mediaFactory:MediaFactory):void
{
var pluginsToLoad:int = 0;
if (mediaFactory == null)
{
onPluginResult();
return;
}
else
{
mediaFactory.addEventListener(MediaFactoryEvent.PLUGIN_LOAD, onPluginResult);
mediaFactory.addEventListener(MediaFactoryEvent.PLUGIN_LOAD_ERROR, onPluginResult);
}
function onPluginResult(event:MediaFactoryEvent = null):void
{
pluginsToLoad--;
if (pluginsToLoad <= 0)
{
mediaFactory.removeEventListener(MediaFactoryEvent.PLUGIN_LOAD, onPluginResult);
mediaFactory.removeEventListener(MediaFactoryEvent.PLUGIN_LOAD_ERROR, onPluginResult);
dispatchEvent(new Event(Event.COMPLETE));
}
}
for each (var plugin:XML in pluginsList)
{
mediaFactory.loadPlugin(new URLResource(plugin.@url));
}
onPluginResult();
}
}
}