Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.hbo.diagnostics.services
- {
- import com.hbo.diagnostics.events.ServiceEvent;
- import flash.events.ErrorEvent;
- import flash.events.Event;
- import flash.events.EventDispatcher;
- import flash.events.HTTPStatusEvent;
- import flash.events.IEventDispatcher;
- import flash.events.IOErrorEvent;
- import flash.events.SecurityErrorEvent;
- import flash.net.URLLoader;
- import flash.net.URLRequest;
- [Event(name="pingSuccess", type="com.hbo.diagnostics.events.ServiceEvent")]
- [Event(name="pingError", type="com.hbo.diagnostics.events.ServiceEvent")]
- public class PingService extends EventDispatcher
- {
- private var loader:URLLoader;
- public var url:String;
- private var _loading:Boolean = false;
- public function get loading():Boolean { return _loading; }
- public function PingService()
- {
- super();
- }
- public function ping(url:String=null):void
- {
- if(_loading == true)
- return;
- if(url != null && url != "")
- this.url = url;
- if(loader == null)
- {
- loader = new URLLoader();
- loader.addEventListener(Event.COMPLETE, onComplete);
- loader.addEventListener(HTTPStatusEvent.HTTP_RESPONSE_STATUS, onResponseStatus);
- loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, onResponseStatus);
- loader.addEventListener(IOErrorEvent.IO_ERROR, onError);
- loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onError);
- }
- try
- {
- loader.close();
- }
- catch(error:Error)
- {
- }
- try
- {
- _loading = true;
- loader.load(new URLRequest(this.url));
- }
- catch(error:Error)
- {
- //trace("PingService::ping, error: " + error);
- _loading = false;
- dispatchEvent(new ServiceEvent(ServiceEvent.PING_ERROR));
- }
- }
- private function onComplete(event:Event):void
- {
- //trace("PingService::onComplete");
- _loading = false;
- dispatchEvent(new ServiceEvent(ServiceEvent.PING_SUCCESS));
- }
- private function onError(event:ErrorEvent):void
- {
- //trace("PingService::onError");
- //trace(event.text);
- _loading = false;
- dispatchEvent(new ServiceEvent(ServiceEvent.PING_ERROR));
- }
- private function onResponseStatus(event:HTTPStatusEvent):void
- {
- //trace("PingService::onResponseStatus");
- //trace(event.status);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement