{ "type": "class",
  "qname": "mx.rpc.remoting.RemoteObject",
  "baseClassname": "mx.rpc.AbstractService"
  ,
    "description": "The RemoteObject class gives you access to classes on a remote application server.",
  "tags": [
  {  "tagName": "playerversion",
         "values": ["Flash 9", "AIR 1.1"]},
      {  "tagName": "productversion",
         "values": ["Flex 3"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "mx.rpc.remoting.RemoteObject",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Creates a new RemoteObject.",
        "tags": [
        {  "tagName": "param",
               "values": ["destination [optional] Destination of the RemoteObject; should match a destination name in the services-config.xml file."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": [{ "name": "destination", "type": "String"}]}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "concurrency",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Value that indicates how to handle multiple calls to the same service. The default value is multiple. The following values are permitted: <ul> <li>multiple - Existing requests are not cancelled, and the developer is responsible for ensuring the consistency of returned data by carefully managing the event stream. This is the default.</li> <li>single - Making only one request at a time is allowed on the method; additional requests made while a request is outstanding are immediately faulted on the client and are not sent to the server.</li> <li>last - Making a request causes the client to ignore a result or fault for any current outstanding request. Only the result or fault for the most recent request will be dispatched on the client. This may simplify event handling in the client application, but care should be taken to only use this mode when results or faults for requests may be safely ignored.</li> </ul>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "endpoint",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "This property allows the developer to quickly specify an endpoint for a RemoteObject destination without referring to a services configuration file at compile time or programmatically creating a ChannelSet. It also overrides an existing ChannelSet if one has been set for the RemoteObject service.  <p>If the endpoint url starts with &quot;https&quot; a SecureAMFChannel will be used, otherwise an AMFChannel will be used. Two special tokens, {server.name} and {server.port}, can be used in the endpoint url to specify that the channel should use the server name and port that was used to load the SWF. </p>  <p><b>Note:</b> This property is required when creating AIR applications.</p>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "makeObjectsBindable",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "When this value is true, anonymous objects returned are forced to bindable objects.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "Boolean",
        "qname": "showBusyCursor",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "If <code>true</code>, a busy cursor is displayed while a service is executing. The default value is <code>false</code>.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "source",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Lets you specify a source value on the client; not supported for destinations that use the JavaAdapter. This allows you to provide more than one source that can be accessed from a single destination on the server.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "convertParametersHandler",
        "return": "Function",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "An optional function, primarily intended for framework developers who need to install a function to get called with the parameters passed to each remote object invocation. The function takes an array of parameters and returns the potentially altered array.  The function definition should look like: <code> function myParametersFunction(parameters:Array):Array </code>",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]},
            {  "tagName": "royalesuppresspublicvarwarning",
               "values": []}  ]},
      { "type": "field",
        "qname": "convertResultHandler",
        "return": "Function",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "An optional function, primarily intended for framework developers who need to install a hook to process the results of an operation before notifying the result handlers.  The function definition should look like: <code> function myConvertResultsFunction(result:*, operation:AbstractOperation):* </code>  It is passed the result just after the makeObjectsBindable conversion has been done but before the result event is created.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]},
            {  "tagName": "royalesuppresspublicvarwarning",
               "values": []}  ]},
      { "type": "method",
        "qname": "getOperation",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "Returns an Operation of the given name. If the Operation wasn't created beforehand, a new <code>mx.rpc.remoting.Operation</code> is created during this call. Operations are usually accessible by simply naming them after the service variable (<code>myService.someOperation</code>), but if your Operation name happens to match a defined method on the service (like <code>setCredentials</code>), you can use this method to get the Operation instead.",
        "tags": [
        {  "tagName": "param",
               "values": ["name Name of the Operation."]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["Operation that executes for this name."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "mx.rpc.AbstractOperation",
          "params": [{ "name": "name", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "setRemoteCredentials",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "If a remote object is managed by an external service, such a ColdFusion Component (CFC), a username and password can be set for the authentication mechanism of that remote service.  remote credentials. The default is null, which implies the legacy charset of ISO-Latin-1. The only other supported charset is &quot;UTF-8&quot;.",
        "tags": [
        {  "tagName": "param",
               "values": ["remoteUsername the username to pass to the remote endpoint", "remotePassword the password to pass to the remote endpoint", "charset The character set encoding to use while encoding the"]},
            {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "remoteUsername", "type": "String"},
        { "name": "remotePassword", "type": "String"},
        { "name": "charset", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "toString",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "Represents an instance of RemoteObject as a String, describing important properties such as the destination id and the set of channels assigned.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 9", "AIR 1.1"]},
            {  "tagName": "productversion",
               "values": ["Flex 3"]},
            {  "tagName": "return",
               "values": ["Returns a String representing an instance of a RemoteObject."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "String",
          "params": []}
      ]
  }
