blob: e468531aeec8dfa8a0171028d0f9b2ae86c6a5f2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
/** @file
*
* Guest client: seamless mode
* Abstract class for interacting with the guest system
*/
/*
* Copyright (C) 2006-2011 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* you can redistribute it and/or modify it under the terms of the GNU
* General Public License (GPL) as published by the Free Software
* Foundation, in version 2 as it comes in the "COPYING" file of the
* VirtualBox OSE distribution. VirtualBox OSE is distributed in the
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
*/
#ifndef __Additions_client_seamless_guest_h
# define __Additions_client_seamless_guest_h
#include <iprt/types.h> /* for RTRECT */
#include "seamless-glue.h"
/**
* Observable to monitor the state of the guest windows. This abstract class definition
* serves as a template (in the linguistic sense, not the C++ sense) for creating
* platform-specific child classes.
*/
class VBoxGuestSeamlessGuest
{
public:
/** Events which can be reported by this class */
enum meEvent
{
/** Empty event */
NONE,
/** Seamless mode is now supported */
CAPABLE,
/** Seamless mode is no longer supported */
INCAPABLE
};
};
#if defined(RT_OS_LINUX) || defined(RT_OS_SOLARIS) || defined(RT_OS_FREEBSD)
# include "seamless-x11.h" /* for VBoxGuestSeamlessGuestImpl */
#else
# error Port me
#endif
#endif /* __Additions_client_seamless_guest_h not defined */
|