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 5syntax = "proto3"; 6option optimize_for = LITE_RUNTIME; 7 8package 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/ 12message 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 39message 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. 51message 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. 67message 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