~ubuntu-branches/ubuntu/quantal/open-vm-tools/quantal-201207201942

« back to all changes in this revision

Viewing changes to lib/guestRpc/ghiStartMenu.x

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Baumann
  • Date: 2009-10-18 12:28:19 UTC
  • mfrom: (1.1.7 upstream) (2.4.9 squeeze)
  • Revision ID: james.westby@ubuntu.com-20091018122819-00vqew6m0ztpqcqp
Tags: 2009.10.15-201664-1
MergingĀ upstreamĀ versionĀ 2009.10.15-201664.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*********************************************************
 
2
 * Copyright (C) 2009 VMware, Inc. All rights reserved.
 
3
 *
 
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.
 
7
 *
 
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.
 
12
 *
 
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.
 
16
 *
 
17
 *********************************************************/
 
18
 
 
19
/*
 
20
 * ghiStartMenu.x --
 
21
 *
 
22
 *    Definition of the data structures used in the GuestRpc commands to
 
23
 *    indicate changes in the guest launch (aka start) menu.
 
24
 */
 
25
 
 
26
const GHI_LAUNCH_MENU_MAX_KEY_LENGTH = 32;
 
27
const GHI_LAUNCH_MENU_CHANGED_MAX_KEYS = 16;
 
28
 
 
29
/*
 
30
 * Enumerates the different versions of the messages.
 
31
 */
 
32
enum GHIStartMenuChangedVersion {
 
33
  GHI_STARTMENU_CHANGED_V1 = 1
 
34
};
 
35
 
 
36
 
 
37
typedef string GHILaunchMenuKey<GHI_LAUNCH_MENU_MAX_KEY_LENGTH>;
 
38
/*
 
39
 * The structure used for version 1 of the message.
 
40
 */
 
41
struct GHIStartMenuChangedV1 {
 
42
   /*
 
43
    * A list of the folder keys (see public/unityCommon.h) that have just changed.
 
44
    */
 
45
   GHILaunchMenuKey keys<GHI_LAUNCH_MENU_CHANGED_MAX_KEYS>;
 
46
};
 
47
 
 
48
 
 
49
/*
 
50
 * This defines the protocol for a 'GHIStartMenuChanged' message.
 
51
 *
 
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.
 
55
 *
 
56
 * Since the union doesn't have a default case, de-serialization will fail if
 
57
 * an unknown version is provided on the wire.
 
58
 */
 
59
union GHIStartMenuChanged switch (GHIStartMenuChangedVersion ver) {
 
60
case GHI_STARTMENU_CHANGED_V1:
 
61
   struct GHIStartMenuChangedV1 *ghiStartMenuChangedV1;
 
62
};
 
63
 
 
64