1
/* $Id: VRDPServerImpl.h $ */
5
* VirtualBox COM class implementation
9
* Copyright (C) 2006-2007 Oracle Corporation
11
* This file is part of VirtualBox Open Source Edition (OSE), as
12
* available from http://www.virtualbox.org. This file is free software;
13
* you can redistribute it and/or modify it under the terms of the GNU
14
* General Public License (GPL) as published by the Free Software
15
* Foundation, in version 2 as it comes in the "COPYING" file of the
16
* VirtualBox OSE distribution. VirtualBox OSE is distributed in the
17
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
20
#ifndef ____H_VRDPSERVER
21
#define ____H_VRDPSERVER
23
#include "VirtualBoxBase.h"
25
#include <VBox/VRDPAuth.h>
32
class ATL_NO_VTABLE VRDPServer :
33
public VirtualBoxBase,
34
public VirtualBoxSupportErrorInfoImpl<VRDPServer, IVRDPServer>,
35
public VirtualBoxSupportTranslation<VRDPServer>,
36
VBOX_SCRIPTABLE_IMPL(IVRDPServer)
45
VRDPAuthType_T mAuthType;
47
BOOL mAllowMultiConnection;
48
BOOL mReuseSingleConnection;
50
ULONG mVideoChannelQuality;
53
VIRTUALBOXBASE_ADD_ERRORINFO_SUPPORT (VRDPServer)
55
DECLARE_NOT_AGGREGATABLE(VRDPServer)
57
DECLARE_PROTECT_FINAL_CONSTRUCT()
59
BEGIN_COM_MAP(VRDPServer)
60
COM_INTERFACE_ENTRY (ISupportErrorInfo)
61
COM_INTERFACE_ENTRY (IVRDPServer)
62
COM_INTERFACE_ENTRY2 (IDispatch, IVRDPServer)
65
DECLARE_EMPTY_CTOR_DTOR (VRDPServer)
67
HRESULT FinalConstruct();
70
// public initializer/uninitializer for internal purposes only
71
HRESULT init(Machine *aParent);
72
HRESULT init(Machine *aParent, VRDPServer *aThat);
73
HRESULT initCopy (Machine *aParent, VRDPServer *aThat);
76
// IVRDPServer properties
77
STDMETHOD(COMGETTER(Enabled)) (BOOL *aEnabled);
78
STDMETHOD(COMSETTER(Enabled)) (BOOL aEnable);
79
STDMETHOD(COMGETTER(Ports)) (BSTR *aPorts);
80
STDMETHOD(COMSETTER(Ports)) (IN_BSTR aPorts);
81
STDMETHOD(COMGETTER(NetAddress)) (BSTR *aAddress);
82
STDMETHOD(COMSETTER(NetAddress)) (IN_BSTR aAddress);
83
STDMETHOD(COMGETTER(AuthType)) (VRDPAuthType_T *aType);
84
STDMETHOD(COMSETTER(AuthType)) (VRDPAuthType_T aType);
85
STDMETHOD(COMGETTER(AuthTimeout)) (ULONG *aTimeout);
86
STDMETHOD(COMSETTER(AuthTimeout)) (ULONG aTimeout);
87
STDMETHOD(COMGETTER(AllowMultiConnection)) (BOOL *aAllowMultiConnection);
88
STDMETHOD(COMSETTER(AllowMultiConnection)) (BOOL aAllowMultiConnection);
89
STDMETHOD(COMGETTER(ReuseSingleConnection)) (BOOL *aReuseSingleConnection);
90
STDMETHOD(COMSETTER(ReuseSingleConnection)) (BOOL aReuseSingleConnection);
91
STDMETHOD(COMGETTER(VideoChannel)) (BOOL *aVideoChannel);
92
STDMETHOD(COMSETTER(VideoChannel)) (BOOL aVideoChannel);
93
STDMETHOD(COMGETTER(VideoChannelQuality)) (ULONG *aVideoChannelQuality);
94
STDMETHOD(COMSETTER(VideoChannelQuality)) (ULONG aVideoChannelQuality);
96
// IVRDPServer methods
98
// public methods only for internal purposes
100
HRESULT loadSettings(const settings::VRDPSettings &data);
101
HRESULT saveSettings(settings::VRDPSettings &data);
105
void copyFrom (VRDPServer *aThat);
107
// for VirtualBoxSupportErrorInfoImpl
108
static const wchar_t *getComponentName() { return L"VRDPServer"; }
112
Machine * const mParent;
113
const ComObjPtr<VRDPServer> mPeer;
115
Backupable<Data> mData;
118
#endif // ____H_VRDPSERVER
119
/* vi: set tabstop=4 shiftwidth=4 expandtab: */