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
*********************************************************/
20
* ghiSetOutlookTempFolder.x --
22
* Definition of the data structures used in the GuestRpc commands to
23
* set or restore the temporary folder path used by Microsoft Outlook
24
* to store attachments opened by the user.
27
#include "ghiCommonDefines.h"
30
* Enumerates the different versions of the messages.
32
enum GHISetOutlookTempFolderVersion {
33
GHI_SET_OUTLOOK_TEMP_FOLDER_V1 = 1
37
* The structure used for version 1 of the message.
39
struct GHISetOutlookTempFolderV1 {
40
string targetURI<GHI_HANDLERS_ACTIONURI_MAX_PATH>;
44
* This defines the protocol for a 'setOutlookTempFolder' message.
46
* The union allows us to introduce new versions of the protocol later by
47
* creating new values in the enumeration, without having to change much of
48
* the code calling the (de)serialization functions.
50
* Since the union doesn't have a default case, de-serialization will fail if
51
* an unknown version is provided on the wire.
53
union GHISetOutlookTempFolder switch (GHISetOutlookTempFolderVersion ver) {
54
case GHI_SET_OUTLOOK_TEMP_FOLDER_V1:
55
struct GHISetOutlookTempFolderV1 *setOutlookTempFolderV1;