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

[
  {
    "namespace": "terminalPrivate",
    "compiler_options": {
      "implemented_in": "chrome/browser/extensions/api/terminal/terminal_private_api.h"
    },
    "platforms": ["chromeos"],
    "description": "none",
    "functions": [
      {
        "name": "openTerminalProcess",
        "type": "function",
        "description": "Starts new process.",
        "parameters": [
          {
            "type": "string",
            "name": "processName",
            "description": "Name of the process to open. Initially only 'crosh' is supported. Another processes may be added in future."
          },
          {
            "type": "function",
            "name": "callback",
            "optional": false,
            "description": "Returns pid of the launched process. If no process was launched returns -1.",
            "parameters": [
              {
                "name": "pid",
                "description": "Pid of the launched process.",
                "type": "integer"
              }
            ]
          }
        ]
      },
      {
        "name": "closeTerminalProcess",
        "type": "function",
        "description": "Closes previousy opened process.",
        "parameters": [
          {
            "name": "pid",
            "type": "integer",
            "description": "Process id of the process we want to close."
          },
          {
            "name": "callback",
            "type": "function",
            "optional": true,
            "description": "Function that gets called when close operation is started for the process. Returns success of the function.",
            "parameters": [
              {
                "name": "success",
                "type": "boolean"
              }
            ]
          }
        ]
      },
      {
        "name": "sendInput",
        "type": "function",
        "description": "Sends input that will be routed to stdin of the process with the specified pid.",
        "parameters": [
          {
            "name": "pid",
            "type": "integer",
            "description": "The pid of the process to which we want to send input."
          },
          {
            "name": "input",
            "type": "string",
            "description": "Input we are sending to the process."
          },
          {
            "name": "callback",
            "type": "function",
            "optional": true,
            "description": "Callback that will be called when sendInput method ends. Returns success.",
            "parameters": [
              {
                "name": "success",
                "type": "boolean"
              }
            ]
          }
        ]
      },
      {
        "name": "onTerminalResize",
        "type": "function",
        "description": "Notify the process with the id pid that terminal window size has changed.",
        "parameters": [
          {
            "name": "pid",
            "type": "integer",
            "description": "The pid of the process."
          },
          {
            "name": "width",
            "type": "integer",
            "description": "New window width (as column count)."
          },
          {
            "name": "height",
            "type": "integer",
            "description": "New window height (as row count)."
          },
          {
            "name": "callback",
            "type": "function",
            "optional": true,
            "description": "Callback that will be called when sendInput method ends. Returns success.",
            "parameters": [
              {
                "name": "success",
                "type": "boolean"
              }
            ]
          }
        ]
      }
    ],
    "events": [
      {
        "name": "onProcessOutput",
        "type": "function",
        "description": "Fired when an opened process writes something to its output.",
        "parameters": [
          {
            "name": "pid",
            "type": "integer",
            "description": "Pid of the process from which the output came."
          },
          {
            "name": "type",
            "type": "string",
            "description": "Type of the output stream from which output came. When process exits, output type will be set to exit",
            "enum": ["stdout", "stderr", "exit"]
          },
          {
            "name": "text",
            "type": "string",
            "description": "Text that was written to the output stream."
          }
        ]
      }
    ]
  }
]
