VirtualBox

source: vbox/trunk/src/VBox/Main/include/GuestDebugControlImpl.h@ 98103

Last change on this file since 98103 was 98103, checked in by vboxsync, 2 years ago

Copyright year updates by scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.4 KB
Line 
1/* $Id: GuestDebugControlImpl.h 98103 2023-01-17 14:15:46Z vboxsync $ */
2/** @file
3 *
4 * VirtualBox/GuestDebugControl COM class implementation
5 */
6
7/*
8 * Copyright (C) 2022-2023 Oracle and/or its affiliates.
9 *
10 * This file is part of VirtualBox base platform packages, as
11 * available from https://www.virtualbox.org.
12 *
13 * This program is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License
15 * as published by the Free Software Foundation, in version 3 of the
16 * License.
17 *
18 * This program is distributed in the hope that it will be useful, but
19 * WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 * General Public License for more details.
22 *
23 * You should have received a copy of the GNU General Public License
24 * along with this program; if not, see <https://www.gnu.org/licenses>.
25 *
26 * SPDX-License-Identifier: GPL-3.0-only
27 */
28
29#ifndef MAIN_INCLUDED_GuestDebugControlImpl_h
30#define MAIN_INCLUDED_GuestDebugControlImpl_h
31#ifndef RT_WITHOUT_PRAGMA_ONCE
32# pragma once
33#endif
34
35#include "GuestDebugControlWrap.h"
36
37namespace settings
38{
39 struct Debugging;
40}
41
42class ATL_NO_VTABLE GuestDebugControl :
43 public GuestDebugControlWrap
44{
45public:
46
47 DECLARE_COMMON_CLASS_METHODS(GuestDebugControl)
48
49 HRESULT FinalConstruct();
50 void FinalRelease();
51
52 // public initializer/uninitializer for internal purposes only
53 HRESULT init(Machine *aParent);
54 HRESULT init(Machine *aParent, GuestDebugControl *aThat);
55 HRESULT initCopy(Machine *aParent, GuestDebugControl *aThat);
56 void uninit();
57
58 // public internal methods
59 HRESULT i_loadSettings(const settings::Debugging &data);
60 HRESULT i_saveSettings(settings::Debugging &data);
61 void i_rollback();
62 void i_commit();
63 void i_copyFrom(GuestDebugControl *aThat);
64 Machine *i_getMachine() const;
65
66private:
67
68 // wrapped IGuestDebugControl properties
69 HRESULT getDebugProvider(GuestDebugProvider_T *aDebugProvider);
70 HRESULT setDebugProvider(GuestDebugProvider_T aDebugProvider);
71 HRESULT getDebugIoProvider(GuestDebugIoProvider_T *aDebugIoProvider);
72 HRESULT setDebugIoProvider(GuestDebugIoProvider_T aDebugIoProvider);
73 HRESULT getDebugAddress(com::Utf8Str &aAddress);
74 HRESULT setDebugAddress(const com::Utf8Str &aAddress);
75 HRESULT getDebugPort(ULONG *aPort);
76 HRESULT setDebugPort(ULONG aPort);
77
78 struct Data;
79 Data *m;
80};
81
82#endif /* !MAIN_INCLUDED_GuestDebugControlImpl_h */
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