1
/*********************************************************
2
* Copyright (C) 2009 VMware, Inc. All rights reserved.
4
* This program is free software; you can redistribute it and/or modify it
5
* under the terms of the GNU Lesser General Public License as published
6
* by the Free Software Foundation version 2.1 and no later version.
8
* This program is distributed in the hope that it will be useful, but
9
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
10
* or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU General Public
11
* License for more details.
13
* You should have received a copy of the GNU Lesser General Public License
14
* along with this program; if not, write to the Free Software Foundation, Inc.,
15
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
17
*********************************************************/
22
* Definition of the data structures used in the GuestRpc commands to
23
* indicate changes in the guest launch (aka start) menu.
26
const GHI_LAUNCH_MENU_MAX_KEY_LENGTH = 32;
27
const GHI_LAUNCH_MENU_CHANGED_MAX_KEYS = 16;
30
* Enumerates the different versions of the messages.
32
enum GHIStartMenuChangedVersion {
33
GHI_STARTMENU_CHANGED_V1 = 1
37
typedef string GHILaunchMenuKey<GHI_LAUNCH_MENU_MAX_KEY_LENGTH>;
39
* The structure used for version 1 of the message.
41
struct GHIStartMenuChangedV1 {
43
* A list of the folder keys (see public/unityCommon.h) that have just changed.
45
GHILaunchMenuKey keys<GHI_LAUNCH_MENU_CHANGED_MAX_KEYS>;
50
* This defines the protocol for a 'GHIStartMenuChanged' message.
52
* The union allows us to introduce new versions of the protocol later by
53
* creating new values in the enumeration, without having to change much of
54
* the code calling the (de)serialization functions.
56
* Since the union doesn't have a default case, de-serialization will fail if
57
* an unknown version is provided on the wire.
59
union GHIStartMenuChanged switch (GHIStartMenuChangedVersion ver) {
60
case GHI_STARTMENU_CHANGED_V1:
61
struct GHIStartMenuChangedV1 *ghiStartMenuChangedV1;