Home | History | Annotate | Download | only in vm_applications
      1 // Copyright 2018 The Chromium OS Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 syntax = "proto3";
      6 option optimize_for = LITE_RUNTIME;
      7 
      8 package vm_tools.apps;
      9 
     10 // Corresponds to a .desktop file from the Desktop Entry Spec:
     11 // https://www.freedesktop.org/wiki/Specifications/desktop-entry-spec/
     12 message App {
     13   // A "localestring". Entries with a locale should set the |locale| field to
     14   // the value inside the [] and the default entry should leave it empty. The
     15   // browser is responsible for mapping this to something it can use.
     16   message LocaleString {
     17     message Entry {
     18       string locale = 1;
     19       string value = 2;
     20     }
     21     repeated Entry values = 1;
     22   }
     23 
     24   string desktop_file_id = 1;
     25 
     26   // These fields map directly to keys from the Desktop Entry spec.
     27   LocaleString name = 2;
     28   LocaleString comment = 3;
     29   repeated string mime_types = 4;
     30   bool no_display = 5;
     31   string startup_wm_class = 6;
     32   bool startup_notify = 7;
     33 
     34   // If set, the package_id of the installed package that owns this .desktop
     35   // file. If not set, the .desktop file is not owned by an installed package.
     36   string package_id = 8;
     37 }
     38 
     39 message ApplicationList {
     40   repeated App apps = 1;
     41 
     42   string vm_name = 2;
     43   string container_name = 3;
     44 
     45   // The owner of the vm and container.
     46   string owner_id = 4;
     47 }
     48 
     49 // Used by the container to request that the host launches a new Terminal
     50 // application.
     51 message TerminalParams {
     52   // Extra parameters to use when launching a terminal application that allow
     53   // executing a command inside the terminal.
     54   repeated string params = 1;
     55 
     56   // Name of the VM to launch the terminal in.
     57   string vm_name = 2;
     58 
     59   // Name of the container within the VM to launch the terminal in.
     60   string container_name = 3;
     61 
     62   // The owner of the VM and container.
     63   string owner_id = 4;
     64 }
     65 
     66 // MIME type mapping information internal to the container.
     67 message MimeTypes {
     68   // MIME type mappings with file extension as the key without a period prefix
     69   // and MIME type as the value.
     70   map<string, string> mime_type_mappings = 1;
     71 
     72   // Name of the VM this came from.
     73   string vm_name = 2;
     74 
     75   // Name of the container this came from.
     76   string container_name = 3;
     77 
     78   // The owner of the VM and container.
     79   string owner_id = 4;
     80 }
     81