blob: ced13cc9585ccf0198aac4dfae82bd170829cd25 [file] [log] [blame]
////////////////////////////////////////////////////////////////////////////////
//
// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright ownership.
// The ASF licenses this file to You under the Apache License, Version 2.0
// (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.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
////////////////////////////////////////////////////////////////////////////////
package mx.automation
{
import flash.display.DisplayObject;
import flash.events.Event;
import flash.geom.Point;
/**
* The IAutomationManager interface defines the interface expected
* from an AutomationManager object by the automation module.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
public interface IAutomationManager2
extends IAutomationManager
{
/**
* The automation environment for this automation manager.
* The automation environment provides information about the
* objects and properties of testable components needed for communicating
* with agent tools.
*
* The value of this property must implement the IAutomationEnvironment interface.
*
* @see mx.automation.IAutomationEnvironment
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function set automationEnvironmentString(env:String):void;
/**
* Marshalling Support(for tool): The tool class which is responsible for handling
* the automation environment.
*
* @param className Complete qualified class name of the class in the tool that handles automation.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function set automationEnvironmentHandlingClassName(className:String):void;
/**
* Marshalling Support(for tool): Returns unique ID of the application considering
* the hierarchy using the SWFLoader information and the application name.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function getUniqueApplicationID():String;
/**
* Marshalling Support(for tool): Returns name of the application from the part id.
*
* @param objectID AutomationIDPart from which the application name is obtained.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function getApplicationNameFromAutomationIDPart(objectID:AutomationIDPart):String;
/**
* Marshalling Support(for tool): Returns true if the passed object is a pop up.
*
* @param obj IAutomationObject
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function isObjectPopUp(obj:IAutomationObject):Boolean;
// passed objectlist contain the objects which has applicationName which obtained for
// identifying them uniquely in case of the marshalled application.
// this method can be used to indetify the top application when there are multiple application
// at the same point, get element from point.
/**
* Marshalling Support(for tool): Returns the index of top visible object among the passed array of objects.
* This can be used by tools to identify the topmost Application object when there are
* multiple objects from different applications, which belong to different ApplicationDomain or
* different SecurityDomain, under the mouse.
*
* @param objectList Array of objects
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function getTopApplicationIndex(objectList:Array):int;
/**
* Marshalling Support(for tool): Adds the passed EventDetails objects to the probable
* parent applications in the current ApplicationDomain.
* AutomationManager identifies the parent applications in the current ApplicationDomain
* which are responsible to listen to the events from children and adds appropriate listeners
* obtained from the passed objects.
*
* @param eventDetailsArray Array of EventDetails objects.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function addEventListenersToAllParentApplications(eventDetailsArray:Array):void;
/**
* Marshalling Support(for tool): Adds the passed EventDetails objects to the probable
* child applications in the current ApplicationDomain.
* AutomationManager identifies the child applications in the current ApplicationDomain
* as and when the application is loaded, and adds appropriate listeners
* obtained from the passed objects.
*
* @param eventDetailsArray Array of EventDetails objects.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function addEventListenersToAllChildApplications(eventDetailsArray:Array):void;
/**
* Marshalling Support(for tool): Dispatches event to parent applications.
*
* @param event Event to be dispatched.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function dispatchToParent(event:Event):void;
/**
* Marshalling Support(for tool): Dispatches event to all children.
*
* @param event Event to be dispatched.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function dispatchToAllChildren(event:Event):void;
// these methods are for delegates to communicate to automation Manager
/**
* Marshalling Support(for delegates): Stores the drag proxy to enable
* inter-application drag-drop.DragProxy created in one application should be
* accessible by another application if required.
*
* @param DragProxy object
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function storeDragProxy(dragProxy:Object):void; // used by dragmanagerAutomationImpl
/**
* Marshalling Support(for delegates):Returns the number of pop up children of the
* top level application. All pop up objects created in an application are added as
* pop up children to the top level application of its ApplicationDomain.
*
* @return Number of pop up children
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function getPopUpChildrenCount():Number;
/**
* Marshalling Support(for delegates):Returns array of pop up objects of the top level application.
* All pop up objects created in an application are added as
* pop up children to the top level application of its ApplicationDomain.
*
* @return Array of pop up children
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function getPopUpChildren():Array;
/**
* Marshalling Support(for delegates):Returns array of pop up objects of the root application.
* All pop up objects created in an application are added as
* pop up children to the top level application of its ApplicationDomain.
*
* @param index at which the object is to be retrieved
*
* @return IAutomationObject at the given index
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function getPopUpChildObject(index:int):IAutomationObject;
/**
* Marshalling Support(for delegates): When a new application is added, application delegate
* registers itself so that appropriate listeners are added to that in order to support
* Marshalling.
*
* @param DisplayObject Application object to be registered.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function registerNewApplication(application:DisplayObject):void
/**
* AIR Support(for delegates): When a new window is added, WindowedApplication delegate registers
* the new window object so that a unique id is created for that window.
*
* @param newWindow Window object to be registered.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function registerNewWindow(newWindow:DisplayObject):void
/**
* AIR Support(for delegates): When a FlexNativeMenu is added to a component, its delegate
* registers the new FlexNativeMenu object and creates a delegate.
*
* @param menu FlexNativeMenu object to be registered.
*
* @param sm SystemManager of the component in which FlexNativeMenu is added.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function registerNewFlexNativeMenu(menu:Object, sm:DisplayObject):void
/**
* AIR support(for tool): Returns the unique id of the window object.
*
* @param DisplayObject window whose id is to required.
*
* @return String
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function getAIRWindowUniqueID(newWindow:DisplayObject):String;
/**
* AIR support(for tool): Returns the window with the passed id.
*
* @param windowId id of the window
*
* @return Window with passed id.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function getAIRWindow(windowId:String):DisplayObject;
/**
* AIR support(for tool): Returns the automation object under the given coordinate in a window.
*
* @param x The x coordinate.
*
* @param y The y coordinate.
*
* @param windowId The window on which the object is to be identified.
*
* @return Automation object at that point.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function getElementFromPoint2(x:int, y:int,windowId:String ):IAutomationObject;
/**
* AIR support(for tool): Returns the unique ID of window from the object ID.
* Object ID has application ID and window ID.
*
* @param objectID The object ID from which unique ID of the window is to be obtained.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function getAIRWindowUniqueIDFromObjectIDString(objectId:String ):String;
/**
* AIR support(for tool): Returns the unique ID of window from the automation ID part.
* Automation ID part has application ID and window ID.
*
* @param objectIdPart The AutomationIDPart from which unique ID of the window is to be obtained.
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function getAIRWindowUniqueIDFromAutomationIDPart(objectIdPart:AutomationIDPart):String;
/**
* AIR support(for tool): Used by Flex application loaded from AIR application,
* to get the start point of main AIR application in screen coordinates
*
* @param windowId
*
* @langversion 3.0
* @playerversion Flash 9
* @playerversion AIR 1.1
* @productversion Flex 4
*/
function getStartPointInScreenCoordinates(windowId:String):Point;
}
}