VirtualBox

source: vbox/trunk/src/VBox/Main/include/VRDEServerImpl.h@ 52064

Last change on this file since 52064 was 49644, checked in by vboxsync, 11 years ago

stage 1/8 of 6813 changes

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.0 KB
Line 
1/* $Id: VRDEServerImpl.h 49644 2013-11-25 16:57:15Z vboxsync $ */
2
3/** @file
4 *
5 * VirtualBox COM class implementation
6 */
7
8/*
9 * Copyright (C) 2006-2013 Oracle Corporation
10 *
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.
18 */
19
20#ifndef ____H_VRDPSERVER
21#define ____H_VRDPSERVER
22
23#include <VBox/settings.h>
24#include "VRDEServerWrap.h"
25
26class ATL_NO_VTABLE VRDEServer :
27 public VRDEServerWrap
28{
29public:
30
31 typedef std::map<com::Utf8Str, com::Utf8Str> StringsMap;
32
33 DECLARE_EMPTY_CTOR_DTOR(VRDEServer)
34
35 HRESULT FinalConstruct();
36 void FinalRelease();
37
38 // public initializer/uninitializer for internal purposes only
39 HRESULT init(Machine *aParent);
40 HRESULT init(Machine *aParent, VRDEServer *aThat);
41 HRESULT initCopy(Machine *aParent, VRDEServer *aThat);
42 void uninit();
43
44 // public methods only for internal purposes
45 HRESULT i_loadSettings(const settings::VRDESettings &data);
46 HRESULT i_saveSettings(settings::VRDESettings &data);
47 void i_rollback();
48 void i_commit();
49 void i_copyFrom(VRDEServer *aThat);
50
51private:
52
53 // wrapped IVRDEServer properties
54 HRESULT getEnabled(BOOL *aEnabled);
55 HRESULT setEnabled(BOOL aEnabled);
56 HRESULT getAuthType(AuthType_T *aAuthType);
57 HRESULT setAuthType(AuthType_T aAuthType);
58 HRESULT getAuthTimeout(ULONG *aAuthTimeout);
59 HRESULT setAuthTimeout(ULONG aAuthTimeout);
60 HRESULT getAllowMultiConnection(BOOL *aAllowMultiConnection);
61 HRESULT setAllowMultiConnection(BOOL aAllowMultiConnection);
62 HRESULT getReuseSingleConnection(BOOL *aReuseSingleConnection);
63 HRESULT setReuseSingleConnection(BOOL aReuseSingleConnection);
64 HRESULT getVRDEExtPack(com::Utf8Str &aVRDEExtPack);
65 HRESULT setVRDEExtPack(const com::Utf8Str &aVRDEExtPack);
66 HRESULT getAuthLibrary(com::Utf8Str &aAuthLibrary);
67 HRESULT setAuthLibrary(const com::Utf8Str &aAuthLibrary);
68 HRESULT getVRDEProperties(std::vector<com::Utf8Str> &aVRDEProperties);
69
70 // wrapped IVRDEServer methods
71 HRESULT setVRDEProperty(const com::Utf8Str &aKey,
72 const com::Utf8Str &aValue);
73 HRESULT getVRDEProperty(const com::Utf8Str &aKey,
74 com::Utf8Str &aValue);
75
76 struct Data
77 {
78 BOOL mEnabled;
79 com::Utf8Str mAuthLibrary;
80 AuthType_T mAuthType;
81 ULONG mAuthTimeout;
82 BOOL mAllowMultiConnection;
83 BOOL mReuseSingleConnection;
84 Utf8Str mVrdeExtPack;
85 StringsMap mProperties;
86 };
87
88 Machine * const mParent;
89 const ComObjPtr<VRDEServer> mPeer;
90
91 Backupable<Data> mData;
92};
93
94#endif // ____H_VRDPSERVER
95/* vi: set tabstop=4 shiftwidth=4 expandtab: */
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette