# Copyright (c) 2011 The Native Client Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# RPC methods used to implement PPP_Instance interface.
# See ppapi/c/ppp_instance.h for interface details.
{
 'name': 'PppInstanceRpc',
 'rpcs': [
          # Generic comment: PPAPI uses Did... apparently to indicate that the
          # return value indicates the plugin successfully responded to the
          # action requested.
          # Sets the instance's parameters.
          {'name': 'PPP_Instance_DidCreate',
           'inputs': [['instance', 'PP_Instance'],  # PP_Instance
                      ['argc', 'int32_t'],  # uint32_t
                      ['argn', 'char[]'],  # char*[]
                      ['argv', 'char[]'],  # char*[]
                      ],
           'outputs': [['success', 'int32_t'],  # PP_Bool
                      ]
          },
          # Deletes an instance of a plugin.
          {'name': 'PPP_Instance_DidDestroy',
           'inputs': [['instance', 'PP_Instance'],  # PP_Instance
                     ],
           'outputs': []
          },
          # Changes the position, size, or clipping rectangle of the instance.
          {'name': 'PPP_Instance_DidChangeView',
           'inputs': [['instance', 'PP_Instance'],  # PP_Instance
                      ['resource', 'PP_Resource'],  # PP_Resource
                      ['view_data', 'char[]'],      # ViewData
                     ],
           'outputs': []
          },
          # Processes a bool indicating that the instance gained or lost focus.
          {'name': 'PPP_Instance_DidChangeFocus',
           'inputs': [['instance', 'PP_Instance'],  # PP_Instance
                      ['has_focus', 'bool'],  # PP_Bool
                      ],
           'outputs': []
          },
          # Passes URL information to a full-frame instance.
          {'name': 'PPP_Instance_HandleDocumentLoad',
           'inputs': [['instance', 'PP_Instance'],  # PP_Instance
                      ['url_loader', 'PP_Resource'],  # PP_Resource
                      ],
           'outputs': [['success', 'int32_t'],  # PP_Bool
                      ]
          },
         ]
}