Index: mojo/services/terminal/public/interfaces/terminal.mojom |
diff --git a/mojo/services/terminal/public/interfaces/terminal.mojom b/mojo/services/terminal/public/interfaces/terminal.mojom |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d97e567218fd6f9016f8b2501fd7e25d890a3e08 |
--- /dev/null |
+++ b/mojo/services/terminal/public/interfaces/terminal.mojom |
@@ -0,0 +1,38 @@ |
+// Copyright 2015 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. |
+ |
+module mojo.terminal; |
+ |
+import "files/public/interfaces/file.mojom"; |
+import "files/public/interfaces/types.mojom"; |
+import "terminal/public/interfaces/terminal_client.mojom"; |
+ |
+// Interface for actual terminal programs, in particular, for a single terminal |
+// display. For terminals that display output and are embeddable, this will |
+// typically be a service provided by the |ViewManagerClient| (see |OnEmbed()|). |
+interface Terminal { |
+ // Connects to the terminal. If |force| is true, it will terminate any |
+ // existing connection. The reply is sent when |terminal| is no longer |
+ // connected. It is not successful only on "synchronous"/immediate failure, |
+ // e.g., if something else is already connected (|force| is false). |
+ Connect(mojo.files.File& terminal_file, bool force) |
+ => (mojo.files.Error error); |
+ |
+ // Asks the terminal to connect to the given client. (|force| and response as |
+ // are for |Connect()|.) |
+ ConnectToClient(TerminalClient terminal_client, bool force) |
+ => (mojo.files.Error error); |
+ |
+ // Gets the size of terminal (in number of rows/columns of text). (|rows| and |
+ // |columns| are valid only on success.) |
+ GetSize() => (mojo.files.Error error, uint32 rows, uint32 columns); |
+ |
+ // Sets the size of terminal (in number of rows/columns of text); 0 for |
+ // rows or columns means to compute that automatically. If |reset| is true, it |
+ // will reset (clear) the terminal. Note that it may not set exactly the |
+ // requested size. (On success, the response will provide the actual set |
+ // size.) |
+ SetSize(uint32 rows, uint32 columns, bool reset) |
+ => (mojo.files.Error error, uint32 rows, uint32 columns); |
+}; |