<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<model>
<namespace fullname="plupload" name="plupload">
<namespace fullname="plupload.runtimes" name="runtimes">
<class extends="plupload.Runtime" fullname="plupload.runtimes.BrowserPlus" name="BrowserPlus" static="true" summary="Yahoo BrowserPlus implementation.">
<description>Yahoo BrowserPlus implementation. This runtime supports these features: dragdrop, jpgresize, pngresize.
</description>
<members>
<method name="init" static="true" summary="Initializes the browserplus runtime.">
<description>Initializes the browserplus runtime.
</description>
<param name="uploader" type="plupload.Uploader">
<description>Uploader instance that needs to be initialized.</description>
</param>
<param name="callback" type="function">
<description>Callback to execute when the runtime initializes or fails to initialize. If it succeeds an object with a parameter name success will be set to true.</description>
</param>
</method>
</members>
<super-classes>
<class-ref class="plupload.Runtime"/>
</super-classes>
</class>
<class extends="plupload.Runtime" fullname="plupload.runtimes.Flash" name="Flash" static="true" summary="FlashRuntime implementation.">
<description>FlashRuntime implementation. This runtime supports these features: jpgresize, pngresize, chunks.
</description>
<members>
<method name="init" static="true" summary="Initializes the upload runtime.">
<description>Initializes the upload runtime. This method should add necessary items to the DOM and register events needed for operation.
</description>
<param name="uploader" type="plupload.Uploader">
<description>Uploader instance that needs to be initialized.</description>
</param>
<param name="callback" type="function">
<description>Callback to execute when the runtime initializes or fails to initialize. If it succeeds an object with a parameter name success will be set to true.</description>
</param>
</method>
</members>
<super-classes>
<class-ref class="plupload.Runtime"/>
</super-classes>
</class>
<class extends="plupload.Runtime" fullname="plupload.runtimes.Gears" name="Gears" static="true" summary="Gears implementation.">
<description>Gears implementation. This runtime supports these features: dragdrop, jpgresize, pngresize, chunks.
</description>
<members>
<method name="init" static="true" summary="Initializes the upload runtime.">
<description>Initializes the upload runtime.
</description>
<param name="uploader" type="plupload.Uploader">
<description>Uploader instance that needs to be initialized.</description>
</param>
<param name="callback" type="function">
<description>Callback to execute when the runtime initializes or fails to initialize. If it succeeds an object with a parameter name success will be set to true.</description>
</param>
</method>
</members>
<super-classes>
<class-ref class="plupload.Runtime"/>
</super-classes>
</class>
<class extends="plupload.Runtime" fullname="plupload.runtimes.Html4" name="Html4" static="true" summary="HTML4 implementation.">
<description>HTML4 implementation. This runtime has no special features it uses an form that posts files into an hidden iframe.
</description>
<members>
<method name="init" static="true" summary="Initializes the upload runtime.">
<description>Initializes the upload runtime.
</description>
<param name="uploader" type="plupload.Uploader">
<description>Uploader instance that needs to be initialized.</description>
</param>
<param name="callback" type="function">
<description>Callback to execute when the runtime initializes or fails to initialize. If it succeeds an object with a parameter name success will be set to true.</description>
</param>
</method>
</members>
<super-classes>
<class-ref class="plupload.Runtime"/>
</super-classes>
</class>
<class extends="plupload.Runtime" fullname="plupload.runtimes.Html5" name="Html5" static="true" summary="HMTL5 implementation.">
<description>HMTL5 implementation. This runtime supports these features: dragdrop, jpgresize, pngresize.
</description>
<members>
<method name="init" static="true" summary="Initializes the upload runtime.">
<description>Initializes the upload runtime.
</description>
<param name="uploader" type="plupload.Uploader">
<description>Uploader instance that needs to be initialized.</description>
</param>
<param name="callback" type="function">
<description>Callback to execute when the runtime initializes or fails to initialize. If it succeeds an object with a parameter name success will be set to true.</description>
</param>
</method>
</members>
<super-classes>
<class-ref class="plupload.Runtime"/>
</super-classes>
</class>
<class extends="plupload.Runtime" fullname="plupload.runtimes.Silverlight" name="Silverlight" static="true" summary="Silverlight implementation.">
<description>Silverlight implementation. This runtime supports these features: jpgresize, pngresize, chunks.
</description>
<members>
<method name="init" static="true" summary="Initializes the upload runtime.">
<description>Initializes the upload runtime. This runtime supports these features: jpgresize, pngresize, chunks.
</description>
<param name="uploader" type="plupload.Uploader">
<description>Uploader instance that needs to be initialized.</description>
</param>
<param name="callback" type="function">
<description>Callback to execute when the runtime initializes or fails to initialize. If it succeeds an object with a parameter name success will be set to true.</description>
</param>
</method>
</members>
<super-classes>
<class-ref class="plupload.Runtime"/>
</super-classes>
</class>
</namespace>
<class fullname="plupload.Uploader" name="Uploader" summary="Uploader class, an instance of this class will be created for each upload field.">
<description>Uploader class, an instance of this class will be created for each upload field.
</description>
<example>
<example>var uploader = new plupload.Uploader({
    runtimes : 'gears,html5,flash',
    browse_button : 'button_id'
});

uploader.bind('Init', function(up) {
    alert('Supports drag/drop: ' + (!!up.features.dragdrop));
});

uploader.bind('FilesAdded', function(up, files) {
    alert('Selected files: ' + files.length);
});

uploader.bind('QueueChanged', function(up) {
    alert('Queued files: ' + uploader.files.length);
});

uploader.init();</example>
</example>
<members>
<method constructor="true" name="Uploader" summary="Constructs a new uploader instance.">
<description>Constructs a new uploader instance.
</description>
<param name="settings" type="Object">
<description>Initialization settings, to be used by the uploader instance and runtimes.</description>
</param>
</method>
<property name="state" summary="Current state of the total uploading progress." type="Number">
<description>Current state of the total uploading progress. This one can either be plupload.STARTED or plupload.STOPPED.
These states are controlled by the stop/start methods. The default value is STOPPED.
</description>
</property>
<property name="runtime" summary="Current runtime name." type="String">
<description>Current runtime name.
</description>
</property>
<property name="features" summary="Map of features that are available for the uploader runtime." type="Object">
<description>Map of features that are available for the uploader runtime. Features will be filled
before the init event is called, these features can then be used to alter the UI for the end user.
Some of the current features that might be in this map is: dragdrop, chunks, jpgresize, pngresize.
</description>
</property>
<property name="files" summary="Current upload queue, an array of File instances." type="Array">
<description>Current upload queue, an array of File instances.
</description>
<see class="plupload.File"/>
</property>
<property name="settings" summary="Object with name/value settings." type="Object">
<description>Object with name/value settings.
</description>
</property>
<property name="total" summary="Total progess information." type="plupload.QueueProgress">
<description>Total progess information. How many files has been uploaded, total percent etc.
</description>
</property>
<property name="id" summary="Unique id for the Uploader instance." type="String">
<description>Unique id for the Uploader instance.
</description>
</property>
<method name="init" summary="Initializes the Uploader instance and adds internal event listeners.">
<description>Initializes the Uploader instance and adds internal event listeners.
</description>
</method>
<method name="refresh" summary="Refreshes the upload instance by dispatching out a refresh event to all runtimes.">
<description>Refreshes the upload instance by dispatching out a refresh event to all runtimes.
This would for example reposition flash/silverlight shims on the page.
</description>
</method>
<method name="start" summary="Starts uploading the queued files.">
<description>Starts uploading the queued files.
</description>
</method>
<method name="stop" summary="Stops the upload of the queued files.">
<description>Stops the upload of the queued files.
</description>
</method>
<method name="getFile" summary="Returns the specified file object by id.">
<description>Returns the specified file object by id.
</description>
<param name="id" type="String">
<description>File id to look for.</description>
</param>
<return type="plupload.File">
<description>File object or undefined if it wasn't found;</description>
</return>
</method>
<method name="removeFile" summary="Removes a specific file.">
<description>Removes a specific file.
</description>
<param name="file" type="plupload.File">
<description>File to remove from queue.</description>
</param>
</method>
<method name="splice" summary="Removes part of the queue and returns the files removed.">
<description>Removes part of the queue and returns the files removed. This will also trigger the FilesRemoved and QueueChanged events.
</description>
<param name="start" type="Number">
<description>(Optional) Start index to remove from.</description>
</param>
<param name="length" type="Number">
<description>(Optional) Lengh of items to remove.</description>
</param>
<return type="Array">
<description>Array of files that was removed.</description>
</return>
</method>
<method name="trigger" summary="Dispatches the specified event name and it's arguments to all listeners.">
<description>Dispatches the specified event name and it's arguments to all listeners.

</description>
<param name="name" type="String">
<description>Event name to fire.</description>
</param>
<param name="Multiple" type="Object..">
<description>arguments to pass along to the listener functions.</description>
</param>
</method>
<method name="bind" summary="Adds an event listener by name.">
<description>Adds an event listener by name.
</description>
<param name="name" type="String">
<description>Event name to listen for.</description>
</param>
<param name="func" type="function">
<description>Function to call ones the event gets fired.</description>
</param>
<param name="scope" type="Object">
<description>Optional scope to execute the specified function in.</description>
</param>
</method>
<method name="unbind" summary="Removes the specified event listener.">
<description>Removes the specified event listener.
</description>
<param name="name" type="String">
<description>Name of event to remove.</description>
</param>
<param name="func" type="function">
<description>Function to remove from listener.</description>
</param>
</method>
<method name="unbindAll" summary="Removes all event listeners.">
<description>Removes all event listeners.
</description>
</method>
<method name="destroy" summary="Destroys Plupload instance and cleans after itself.">
<description>Destroys Plupload instance and cleans after itself.
</description>
</method>
<event name="Init" summary="Fires when the current RunTime has been initialized.">
<description>Fires when the current RunTime has been initialized.
</description>
<param name="uploader" type="plupload.Uploader">
<description>Uploader instance sending the event.</description>
</param>
</event>
<event name="PostInit" summary="Fires after the init event incase you need to perform actions there.">
<description>Fires after the init event incase you need to perform actions there.
</description>
<param name="uploader" type="plupload.Uploader">
<description>Uploader instance sending the event.</description>
</param>
</event>
<event name="Refresh" summary="Fires when the silverlight/flash or other shim needs to move.">
<description>Fires when the silverlight/flash or other shim needs to move.
</description>
<param name="uploader" type="plupload.Uploader">
<description>Uploader instance sending the event.</description>
</param>
</event>
<event name="StateChanged" summary="Fires when the overall state is being changed for the upload queue.">
<description>Fires when the overall state is being changed for the upload queue.
</description>
<param name="uploader" type="plupload.Uploader">
<description>Uploader instance sending the event.</description>
</param>
</event>
<event name="UploadFile" summary="Fires when a file is to be uploaded by the runtime.">
<description>Fires when a file is to be uploaded by the runtime.
</description>
<param name="uploader" type="plupload.Uploader">
<description>Uploader instance sending the event.</description>
</param>
<param name="file" type="plupload.File">
<description>File to be uploaded.</description>
</param>
</event>
<event name="BeforeUpload" summary="Fires when just before a file is uploaded.">
<description>Fires when just before a file is uploaded. This event enables you to override settings
on the uploader instance before the file is uploaded.
</description>
<param name="uploader" type="plupload.Uploader">
<description>Uploader instance sending the event.</description>
</param>
<param name="file" type="plupload.File">
<description>File to be uploaded.</description>
</param>
</event>
<event name="QueueChanged" summary="Fires when the file queue is changed.">
<description>Fires when the file queue is changed. In other words when files are added/removed to the files array of the uploader instance.
</description>
<param name="uploader" type="plupload.Uploader">
<description>Uploader instance sending the event.</description>
</param>
</event>
<event name="UploadProgress" summary="Fires while a file is being uploaded.">
<description>Fires while a file is being uploaded. Use this event to update the current file upload progress.
</description>
<param name="uploader" type="plupload.Uploader">
<description>Uploader instance sending the event.</description>
</param>
<param name="file" type="plupload.File">
<description>File that is currently being uploaded.</description>
</param>
</event>
<event name="FilesRemoved" summary="Fires while a file was removed from queue.">
<description>Fires while a file was removed from queue.
</description>
<param name="uploader" type="plupload.Uploader">
<description>Uploader instance sending the event.</description>
</param>
<param name="files" type="Array">
<description>Array of files that got removed.</description>
</param>
</event>
<event name="FilesAdded" summary="Fires while when the user selects files to upload.">
<description>Fires while when the user selects files to upload.
</description>
<param name="uploader" type="plupload.Uploader">
<description>Uploader instance sending the event.</description>
</param>
<param name="files" type="Array">
<description>Array of file objects that was added to queue/selected by the user.</description>
</param>
</event>
<event name="FileUploaded" summary="Fires when a file is successfully uploaded.">
<description>Fires when a file is successfully uploaded.
</description>
<param name="uploader" type="plupload.Uploader">
<description>Uploader instance sending the event.</description>
</param>
<param name="file" type="plupload.File">
<description>File that was uploaded.</description>
</param>
<param name="response" type="Object">
<description>Object with response properties.</description>
</param>
</event>
<event name="ChunkUploaded" summary="Fires when file chunk is uploaded.">
<description>Fires when file chunk is uploaded.
</description>
<param name="uploader" type="plupload.Uploader">
<description>Uploader instance sending the event.</description>
</param>
<param name="file" type="plupload.File">
<description>File that the chunk was uploaded for.</description>
</param>
<param name="response" type="Object">
<description>Object with response properties.</description>
</param>
</event>
<event name="UploadComplete" summary="Fires when all files in a queue are uploaded.">
<description>Fires when all files in a queue are uploaded.
</description>
<param name="uploader" type="plupload.Uploader">
<description>Uploader instance sending the event.</description>
</param>
<param name="files" type="Array">
<description>Array of file objects that was added to queue/selected by the user.</description>
</param>
</event>
<event name="Error" summary="Fires when a error occurs.">
<description>Fires when a error occurs.
</description>
<param name="uploader" type="plupload.Uploader">
<description>Uploader instance sending the event.</description>
</param>
<param name="error" type="Object">
<description>Contains code, message and sometimes file and other details.</description>
</param>
</event>
<event name="Destroy" summary="Fires when destroy method is called.">
<description>Fires when destroy method is called.
</description>
<param name="uploader" type="plupload.Uploader">
<description>Uploader instance sending the event.</description>
</param>
</event>
</members>
</class>
<class fullname="plupload.File" name="File" summary="File instance.">
<description>File instance.
</description>
<param name="name" type="String">
<description>Name of the file.</description>
</param>
<param name="size" type="Number">
<description>File size.</description>
</param>
<members>
<method constructor="true" name="File" summary="Constructs a new file instance.">
<description>Constructs a new file instance.
</description>
<param name="id" type="String">
<description>Unique file id.</description>
</param>
<param name="name" type="String">
<description>File name.</description>
</param>
<param name="size" type="Number">
<description>File size in bytes.</description>
</param>
</method>
<property name="id" summary="File id this is a globally unique id for the specific file." type="String">
<description>File id this is a globally unique id for the specific file.
</description>
</property>
<property name="name" summary="File name for example &quot;myfile." type="String">
<description>File name for example "myfile.gif".
</description>
</property>
<property name="size" summary="File size in bytes." type="Number">
<description>File size in bytes.
</description>
</property>
<property name="loaded" summary="Number of bytes uploaded of the files total size." type="Number">
<description>Number of bytes uploaded of the files total size.
</description>
</property>
<property name="percent" summary="Number of percentage uploaded of the file." type="Number">
<description>Number of percentage uploaded of the file.
</description>
</property>
<property name="status" summary="Status constant matching the plupload states QUEUED, UPLOADING, FAILED, DONE." type="Number">
<description>Status constant matching the plupload states QUEUED, UPLOADING, FAILED, DONE.
</description>
<see class="plupload"/>
</property>
</members>
</class>
<class fullname="plupload.Runtime" name="Runtime" static="true" summary="Runtime class gets implemented by each upload runtime.">
<description>Runtime class gets implemented by each upload runtime.
</description>
<members>
<method name="init" static="true" summary="Initializes the upload runtime.">
<description>Initializes the upload runtime. This method should add necessary items to the DOM and register events needed for operation.
</description>
<param name="uploader" type="plupload.Uploader">
<description>Uploader instance that needs to be initialized.</description>
</param>
<param name="callback" type="function">
<description>Callback function to execute when the runtime initializes or fails to initialize. If it succeeds an object with a parameter name success will be set to true.</description>
</param>
</method>
</members>
</class>
<class fullname="plupload.QueueProgress" name="QueueProgress" summary="Runtime class gets implemented by each upload runtime.">
<description>Runtime class gets implemented by each upload runtime.
</description>
<members>
<method constructor="true" name="QueueProgress" summary="Constructs a queue progress.">
<description>Constructs a queue progress.
</description>
</method>
<property name="size" summary="Total queue file size." type="Number">
<description>Total queue file size.
</description>
</property>
<property name="loaded" summary="Total bytes uploaded." type="Number">
<description>Total bytes uploaded.
</description>
</property>
<property name="uploaded" summary="Number of files uploaded." type="Number">
<description>Number of files uploaded.
</description>
</property>
<property name="failed" summary="Number of files failed to upload." type="Number">
<description>Number of files failed to upload.
</description>
</property>
<property name="queued" summary="Number of files yet to be uploaded." type="Number">
<description>Number of files yet to be uploaded.
</description>
</property>
<property name="percent" summary="Total percent of the uploaded bytes." type="Number">
<description>Total percent of the uploaded bytes.
</description>
</property>
<property name="bytesPerSec" summary="Bytes uploaded per second." type="Number">
<description>Bytes uploaded per second.
</description>
</property>
<method name="reset" summary="Resets the progress to it's initial values.">
<description>Resets the progress to it's initial values.
</description>
</method>
</members>
</class>
</namespace>
<class fullname="plupload" name="plupload" static="true" summary="Plupload class with some global constants and functions.">
<description>Plupload class with some global constants and functions.
</description>
<example>
<example>// Encode entities
console.log(plupload.xmlEncode("My string &amp;lt;&amp;gt;"));

// Generate unique id
console.log(plupload.guid());</example>
</example>
<members>
<property final="true" name="STOPPED" static="true" summary="Inital state of the queue and also the state ones it's finished all it's uploads." type="Object">
<description>Inital state of the queue and also the state ones it's finished all it's uploads.
</description>
</property>
<property final="true" name="STARTED" static="true" summary="Upload process is running" type="Object">
<description>Upload process is running
</description>
</property>
<property final="true" name="QUEUED" static="true" summary="File is queued for upload" type="Object">
<description>File is queued for upload
</description>
</property>
<property final="true" name="UPLOADING" static="true" summary="File is being uploaded" type="Object">
<description>File is being uploaded
</description>
</property>
<property final="true" name="FAILED" static="true" summary="File has failed to be uploaded" type="Object">
<description>File has failed to be uploaded
</description>
</property>
<property final="true" name="DONE" static="true" summary="File has been uploaded successfully" type="Object">
<description>File has been uploaded successfully
</description>
</property>
<property final="true" name="GENERIC_ERROR" static="true" summary="Generic error for example if an exception is thrown inside Silverlight." type="Object">
<description>Generic error for example if an exception is thrown inside Silverlight.
</description>
</property>
<property final="true" name="HTTP_ERROR" static="true" summary="HTTP transport error." type="Object">
<description>HTTP transport error. For example if the server produces a HTTP status other than 200.
</description>
</property>
<property final="true" name="IO_ERROR" static="true" summary="Generic I/O error." type="Object">
<description>Generic I/O error. For exampe if it wasn't possible to open the file stream on local machine.
</description>
</property>
<property final="true" name="SECURITY_ERROR" static="true" summary="Generic I/O error." type="Object">
<description>Generic I/O error. For exampe if it wasn't possible to open the file stream on local machine.
</description>
</property>
<property final="true" name="INIT_ERROR" static="true" summary="Initialization error." type="Object">
<description>Initialization error. Will be triggered if no runtime was initialized.
</description>
</property>
<property final="true" name="FILE_SIZE_ERROR" static="true" summary="File size error." type="Object">
<description>File size error. If the user selects a file that is to large it will be blocked and an error of this type will be triggered.
</description>
</property>
<property final="true" name="FILE_EXTENSION_ERROR" static="true" summary="File extension error." type="Object">
<description>File extension error. If the user selects a file that isn't valid according to the filters setting.
</description>
</property>
<property final="true" name="mimeTypes" static="true" summary="Mime type lookup table." type="Object">
<description>Mime type lookup table.
</description>
</property>
<method name="extend" static="true" summary="Extends the specified object with another object.">
<description>Extends the specified object with another object.
</description>
<param name="target" type="Object">
<description>Object to extend.</description>
</param>
<param name="obj" type="Object..">
<description>Multiple objects to extend with.</description>
</param>
<return type="Object">
<description>Same as target, the extended object.</description>
</return>
</method>
<method name="cleanName" static="true" summary="Cleans the specified name from national characters (diacritics).">
<description>Cleans the specified name from national characters (diacritics). The result will be a name with only a-z, 0-9 and _.
</description>
<param name="s" type="String">
<description>String to clean up.</description>
</param>
<return type="String">
<description>Cleaned string.</description>
</return>
</method>
<method name="addRuntime" static="true" summary="Adds a specific upload runtime like for example flash or gears.">
<description>Adds a specific upload runtime like for example flash or gears.
</description>
<param name="name" type="String">
<description>Runtime name for example flash.</description>
</param>
<param name="obj" type="Object">
<description>Object containing init/destroy method.</description>
</param>
</method>
<method name="guid" static="true" summary="Generates an unique ID.">
<description>Generates an unique ID. This is 99.99% unique since it takes the current time and 5 random numbers.
The only way a user would be able to get the same ID is if the two persons at the same exact milisecond manages
to get 5 the same random numbers between 0-65535 it also uses a counter so each call will be guaranteed to be page unique.
It's more probable for the earth to be hit with an ansteriod. You can also if you want to be 100% sure set the plupload.guidPrefix property
to an user unique key.
</description>
<return type="String">
<description>Virtually unique id.</description>
</return>
</method>
<method name="formatSize" static="true" summary="Formats the specified number as a size string for example 1024 becomes 1 KB.">
<description>Formats the specified number as a size string for example 1024 becomes 1 KB.
</description>
<param name="size" type="Number">
<description>Size to format as string.</description>
</param>
<return type="String">
<description>Formatted size string.</description>
</return>
</method>
<method name="getPos" static="true" summary="Returns the absolute x, y position of an Element.">
<description>Returns the absolute x, y position of an Element. The position will be returned in a object with x, y fields.
</description>
<param name="node" type="Element">
<description>HTML element or element id to get x, y position from.</description>
</param>
<param name="root" type="Element">
<description>Optional root element to stop calculations at.</description>
</param>
<return type="object">
<description>Absolute position of the specified element object with x, y fields.</description>
</return>
</method>
<method name="parseSize" static="true" summary="Parses the specified size string into a byte value.">
<description>Parses the specified size string into a byte value. For example 10kb becomes 10240.
</description>
<param name="size">
<type fullname="String"/>
<type fullname="Number"/>
<description>String to parse or number to just pass through.</description>
</param>
<return type="Number">
<description>Size in bytes.</description>
</return>
</method>
<method name="xmlEncode" static="true" summary="Encodes the specified string.">
<description>Encodes the specified string.
</description>
<param name="s" type="String">
<description>String to encode.</description>
</param>
<return type="String">
<description>Encoded string.</description>
</return>
</method>
<method name="toArray" static="true" summary="Forces anything into an array.">
<description>Forces anything into an array.
</description>
<param name="obj" type="Object">
<description>Object with length field.</description>
</param>
<return type="Array">
<description>Array object containing all items.</description>
</return>
</method>
</members>
</class>
</model>
