Package | air.net |
Class | public dynamic class ServiceMonitor |
Inheritance | ServiceMonitor ![]() ![]() |
Subclasses | SocketMonitor, URLMonitor |
This class is included in the ServiceMonitorShim.swc file.
To use classes in the air.net package in Flash, you must first drag the ServiceMonitorShim
component from the Components panel to the Library and then add the following
import
statement to your ActionScript 3.0 code:
import air.net.*;
Property | Defined By | ||
---|---|---|---|
![]()
Whether the service is currently considered "available".
| ServiceMonitor | ||
![]() | constructor : Object
A reference to the class object or constructor function for a given object instance.
| Object | |
![]() [read-only]
The time of the last status update.
| ServiceMonitor | ||
![]()
The interval, in milliseconds, for polling the server.
| ServiceMonitor | ||
![]() | prototype : Object
[static]
A reference to the prototype object of a class or function object.
| Object | |
![]() [read-only]
Whether the monitor has been started.
| ServiceMonitor |
Method | Defined By | ||
---|---|---|---|
Creates a ServiceMonitor object.
| ServiceMonitor | ||
![]() |
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener
receives notification of an event.
| EventDispatcher | |
![]() |
Dispatches an event into the event flow.
| EventDispatcher | |
![]() |
Checks whether the EventDispatcher object has any listeners registered for a specific type
of event.
| EventDispatcher | |
![]() |
Indicates whether an object has a specified property defined.
| Object | |
![]() |
Indicates whether an instance of the Object class is in the prototype chain of the object specified
as the parameter.
| Object | |
[static]
Adds public ServiceMonitor methods to a JavaScript constructor function's prototype.
| ServiceMonitor | ||
![]() |
Indicates whether the specified property exists and is enumerable.
| Object | |
![]() |
Removes a listener from the EventDispatcher object.
| EventDispatcher | |
![]() |
Sets the availability of a dynamic property for loop operations.
| Object | |
Start the service monitor.
| ServiceMonitor | ||
Stop monitoring the service.
| ServiceMonitor | ||
Returns the string representation of the specified object.
| ServiceMonitor | ||
![]() |
Returns the primitive value of the specified object.
| Object | |
![]() |
Checks whether an event listener is registered with this EventDispatcher object or any of
its ancestors for the specified event type.
| EventDispatcher |
Method | Defined By | ||
---|---|---|---|
Check the status of the service.
| ServiceMonitor |
Event | Summary | Defined By | ||
---|---|---|---|---|
![]() | Dispatched when Flash Player or an AIR application gains operating system focus and becomes active. | EventDispatcher | ||
![]() | Dispatched when Flash Player or an AIR application loses operating system focus and is becoming inactive. | EventDispatcher | ||
Indicates that the service status has changed. | ServiceMonitor |
![]() | property |
available:Boolean
[read-write]
Whether the service is currently considered "available".
The initial value is false
until either a status check sets the
property to true
or the the property is initialized to true
explicitly.
Typically, this property is set by the checkStatus()
implementation in a subclass or specializer,
but if the application has independent information about a service's availability (for example, a request just succeeded
or failed), the property can be set explicitly.
public function get available():Boolean
public function set available(value:Boolean):void
![]() | property |
lastStatusUpdate:Date
[read-only]
The time of the last status update.
public function get lastStatusUpdate():Date
![]() | property |
pollInterval:Number
[read-write]
The interval, in milliseconds, for polling the server.
If zero, the server is not polled periodically, but only immediately after start()
is called
and when the network status changes.
The ServiceMonitor object only dispatches a status
event if service
status has changed (not on every poll interval). The object also dispatches a status
event as a result of network connectivity changes (regardles of the poll interval).
The default value is 0
.
public function get pollInterval():Number
public function set pollInterval(value:Number):void
![]() | property |
running:Boolean
[read-only]
Whether the monitor has been started.
public function get running():Boolean
![]() | () | Constructor |
public function ServiceMonitor()
Creates a ServiceMonitor object.
This class is typically subclassed to monitor specific service types.
After creating a ServiceMonitor object (or a subclass object), call the start()
method
to begin monitoring the status of the service.
As with the Timer object, the caller should maintain a reference to the ServiceMonitor object. Otherwise, the runtime deletes the object and monitoring ends.
![]() | () | method |
protected function checkStatus():void
Check the status of the service.
A subclass override method for checking the status of the service.
Typically, this method will initiate a network operation whose completion or failure will result in
setting the available
property.
JavaScript code can specialise this method by defining a checkStatus()
method
in the "specializer" object.
![]() | () | method |
public static function makeJavascriptSubclass(constructorFunction:Object):void
Adds public ServiceMonitor methods to a JavaScript constructor function's prototype.
Adds functions to the JavaScript constructor function's prototype that forward public ServiceMonitor functions to the ServiceMonitor. This approximates a normal JavaScript subclass of the ActionScript base class.
A JavaScript class specializing a ServiceMonitor would look like this:
// JavaScript Constructor function function MyHTTPMonitor(url, method) { // "that" variable makes "this" available in closures below var that = this; // Required initialization of the service monitor, returns the actual ServiceMonitor object. this.monitor = this.initServiceMonitor(); // Initializes URLStream and event handlers. this._urlStream = new air.URLStream(); this._urlRequest = new air.URLRequest(url); if (method) { this._urlRequest.method = method; } else { this._urlRequest.method = "GET"; } function onStatus(event) { that.monitor.available = Number(event.status) == 200; that._urlStream.close(); } function onError(event) { that.monitor.available = false; that._urlStream.close(); } this._urlStream.addEventListener(air.HTTPStatusEvent.HTTP_RESPONSE_STATUS, onStatus); this._urlStream.addEventListener(air.SecurityErrorEvent.SECURITY_ERROR, onError); this._urlStream.addEventListener(air.IOErrorEvent.IO_ERROR, onError); } // Augment JavaScript prototype with public methods from ServiceMonitor air.ServiceMonitor.makeJavascriptSubclass(MyHTTPMonitor); // Implement specializer functions, just as you would when subclassing a JavaScript class MyHTTPMonitor.prototype.checkStatus = function() { air.trace('OVERRIDDEN checkStatus!', this); this._urlStream.load(this._urlRequest); }
To use the JavaScript class:
var httpMon = new MyHTTPMonitor('http://www.adobe.com')
Be sure to load the AIRAliases.js and ServiceMonitor.swf files with script
tags.
Parameters
constructorFunction:Object — The JavaScript object's prototype property. For example, if the JavaScript
object that you are using to serve as a specializer object is named MyHTTPMonitor, pass
MyHTTPMonitor.prototype as the value for this parameter.
|
![]() | () | method |
public function start():void
Start the service monitor.
![]() | () | method |
public function stop():void
Stop monitoring the service.
![]() | () | method |
public override function toString():String
Returns the string representation of the specified object.
Note: Methods of the Object class are dynamically created on Object's prototype. To redefine this method in a subclass of Object, do not use the override
keyword. For example, a subclass of Object implements function toString():String
instead of using an override of the base class.
String — A string representation of the object.
|
![]() | Event |
flash.events.StatusEvent
flash.events.StatusEvent.STATUS
Indicates that the service status has changed.
The value of the "code" property will be either "Service.available"
or "Service.unavailable"
,
but best practice is to check the value of the ServiceMonitor.available
property.
type
property of a status
event object.
This event has the following properties:
Property | Value |
---|---|
bubbles | false |
cancelable | false ; there is no default behavior to cancel. |
code | A description of the object's status. |
currentTarget | The object that is actively processing the Event object with an event listener. |
level | The category of the message, such as "status" , "warning" or "error" . |
target | The object reporting its status. |