1
/* $Id: VBoxMouseFilter.h $ */
3
* VBoxMouse; input_server filter - Haiku Guest Additions, header.
7
* Copyright (C) 2012 Oracle Corporation
9
* This file is part of VirtualBox Open Source Edition (OSE), as
10
* available from http://www.virtualbox.org. This file is free software;
11
* you can redistribute it and/or modify it under the terms of the GNU
12
* General Public License (GPL) as published by the Free Software
13
* Foundation, in version 2 as it comes in the "COPYING" file of the
14
* VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
19
* This code is based on:
21
* VirtualBox Guest Additions for Haiku.
22
* Copyright (c) 2011 Mike Smith <mike@scgtrp.net>
23
* Fran�ois Revol <revol@free.fr>
25
* Permission is hereby granted, free of charge, to any person
26
* obtaining a copy of this software and associated documentation
27
* files (the "Software"), to deal in the Software without
28
* restriction, including without limitation the rights to use,
29
* copy, modify, merge, publish, distribute, sublicense, and/or sell
30
* copies of the Software, and to permit persons to whom the
31
* Software is furnished to do so, subject to the following
34
* The above copyright notice and this permission notice shall be
35
* included in all copies or substantial portions of the Software.
37
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
38
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
39
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
40
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
41
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
42
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
44
* OTHER DEALINGS IN THE SOFTWARE.
47
#ifndef __VBOXMOUSE_FILTER__H
48
#define __VBOXMOUSE_FILTER__H
50
#include <InputServerFilter.h>
52
extern "C" _EXPORT BInputServerFilter* instantiate_input_filter();
54
class VBoxMouseFilter : public BInputServerFilter
58
virtual ~VBoxMouseFilter();
60
virtual filter_result Filter(BMessage* message, BList* outList);
63
static status_t _ServiceThreadNub(void *_this);
64
status_t _ServiceThread();
67
thread_id fServiceThreadID;
70
int32 fCurrentButtons;
73
#endif /* __VBOXMOUSE_FILTER__H */