topical media & game development

talk show tell print

actionscript-book-CapabilitiesExplorer-com-example-programmingas3-capabilities-CapabilitiesGrabber.ax

actionscript-book-CapabilitiesExplorer-com-example-programmingas3-capabilities-CapabilitiesGrabber.ax [swf] flex


  package  {
          import flash.system.Capabilities;
          import flash.external.ExternalInterface;
          import flash.net.URLVariables;
          import flash.display.Sprite;
  
          public class @ax-actionscript-book-CapabilitiesExplorer-com-example-programmingas3-capabilities-CapabilitiesGrabber extends Sprite {
                  public static function getCapabilities():Array {
                          var capDP:Array = new Array();
                          capDP.push({name:"Capabilities.avHardwareDisable", value:Capabilities.avHardwareDisable}); 
                          capDP.push({name:"Capabilities.hasAccessibility", value:Capabilities.hasAccessibility}); 
                          capDP.push({name:"Capabilities.hasAudio", value:Capabilities.hasAudio}); 
                          capDP.push({name:"Capabilities.hasAudioEncoder", value:Capabilities.hasAudioEncoder}); 
                          capDP.push({name:"Capabilities.hasEmbeddedVideo", value:Capabilities.hasEmbeddedVideo}); 
                          capDP.push({name:"Capabilities.hasIME", value:Capabilities.hasIME}); 
                          capDP.push({name:"Capabilities.hasMP3", value:Capabilities.hasMP3}); 
                          capDP.push({name:"Capabilities.hasPrinting", value:Capabilities.hasPrinting}); 
                          capDP.push({name:"Capabilities.hasScreenBroadcast", value:Capabilities.hasScreenBroadcast}); 
                          capDP.push({name:"Capabilities.hasScreenPlayback", value:Capabilities.hasScreenPlayback}); 
                          capDP.push({name:"Capabilities.hasStreamingAudio", value:Capabilities.hasStreamingAudio}); 
                          capDP.push({name:"Capabilities.hasStreamingVideo", value:Capabilities.hasStreamingVideo}); 
                          capDP.push({name:"Capabilities.hasTLS", value:Capabilities.hasTLS});
                          capDP.push({name:"Capabilities.hasVideoEncoder", value:Capabilities.hasVideoEncoder});
                          capDP.push({name:"Capabilities.isDebugger", value:Capabilities.isDebugger});
                          capDP.push({name:"Capabilities.language", value:Capabilities.language});
                          capDP.push({name:"Capabilities.localFileReadDisable", value:Capabilities.localFileReadDisable});
                          capDP.push({name:"Capabilities.manufacturer", value:Capabilities.manufacturer});
                          capDP.push({name:"Capabilities.os", value:Capabilities.os});
                          capDP.push({name:"Capabilities.pixelAspectRatio", value:Capabilities.pixelAspectRatio});
                          capDP.push({name:"Capabilities.playerType", value:Capabilities.playerType});
                          capDP.push({name:"Capabilities.screenColor", value:Capabilities.screenColor});
                          capDP.push({name:"Capabilities.screenDPI", value:Capabilities.screenDPI});
                          capDP.push({name:"Capabilities.screenResolutionX", value:Capabilities.screenResolutionX});
                          capDP.push({name:"Capabilities.screenResolutionY", value:Capabilities.screenResolutionY});
                          capDP.push({name:"Capabilities.version", value:Capabilities.version});
                          var navArr:Array = @ax-actionscript-book-CapabilitiesExplorer-com-example-programmingas3-capabilities-CapabilitiesGrabber.getBrowserObjects();
                          if (navArr.length > 0) {
                                  capDP = capDP.concat(navArr);
                          }
                          capDP.sortOn("name", Array.CASEINSENSITIVE);
                          return capDP;
                  }
                  private static function getBrowserObjects():Array {
                          var itemArr:Array = new Array();
                          var itemVars:URLVariables;
                          if (ExternalInterface.available) {
                                  try {
                                          var tempStr:String = ExternalInterface.call("JS_getBrowserObjects");
                                          itemVars = new URLVariables(tempStr);
                                          for (var i:String in itemVars) {
                                                  itemArr.push({name:i, value:itemVars[i]});
                                          }
                                  } catch (error:SecurityError) {
                                          // ignore
                                  }
                          }
                          return itemArr;
                  }
          }
  }


(C) Æliens 27/08/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.