VirtualBox

source: vbox/trunk/src/VBox/Frontends/VirtualBox/src/globals/UICloudNetworkingStuff.h

Last change on this file was 106061, checked in by vboxsync, 3 months ago

Copyright year updates by scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 13.1 KB
Line 
1/* $Id: UICloudNetworkingStuff.h 106061 2024-09-16 14:03:52Z vboxsync $ */
2/** @file
3 * VBox Qt GUI - UICloudNetworkingStuff namespace declaration.
4 */
5
6/*
7 * Copyright (C) 2020-2024 Oracle and/or its affiliates.
8 *
9 * This file is part of VirtualBox base platform packages, as
10 * available from https://www.virtualbox.org.
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation, in version 3 of the
15 * License.
16 *
17 * This program is distributed in the hope that it will be useful, but
18 * WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, see <https://www.gnu.org/licenses>.
24 *
25 * SPDX-License-Identifier: GPL-3.0-only
26 */
27
28#ifndef FEQT_INCLUDED_SRC_globals_UICloudNetworkingStuff_h
29#define FEQT_INCLUDED_SRC_globals_UICloudNetworkingStuff_h
30#ifndef RT_WITHOUT_PRAGMA_ONCE
31# pragma once
32#endif
33
34/* GUI includes: */
35#include "UILibraryDefs.h"
36#include "UINotificationCenter.h"
37
38/* COM includes: */
39#include "CCloudClient.h"
40#include "CCloudMachine.h"
41#include "CCloudProfile.h"
42#include "CCloudProvider.h"
43#include "CCloudProviderManager.h"
44#include "CForm.h"
45
46/** Cloud networking stuff namespace. */
47namespace UICloudNetworkingStuff
48{
49 /** Acquires cloud provider manager,
50 * using @a pParent to show messages according to. */
51 SHARED_LIBRARY_STUFF CCloudProviderManager cloudProviderManager(UINotificationCenter *pParent = 0);
52 /** Acquires cloud provider manager,
53 * using @a strErrorMessage to store messages to. */
54 SHARED_LIBRARY_STUFF CCloudProviderManager cloudProviderManager(QString &strErrorMessage);
55 /** Acquires cloud provider specified by @a strProviderShortName,
56 * using @a pParent to show messages according to. */
57 SHARED_LIBRARY_STUFF CCloudProvider cloudProviderByShortName(const QString &strProviderShortName,
58 UINotificationCenter *pParent = 0);
59 /** Acquires cloud provider specified by @a strProviderShortName,
60 * using @a strErrorMessage to store messages to. */
61 SHARED_LIBRARY_STUFF CCloudProvider cloudProviderByShortName(const QString &strProviderShortName,
62 QString &strErrorMessage);
63 /** Acquires cloud profile specified by @a strProviderShortName and @a strProfileName,
64 * using @a pParent to show messages according to. */
65 SHARED_LIBRARY_STUFF CCloudProfile cloudProfileByName(const QString &strProviderShortName,
66 const QString &strProfileName,
67 UINotificationCenter *pParent = 0);
68 /** Acquires cloud profile specified by @a strProviderShortName and @a strProfileName,
69 * using @a strErrorMessage to store messages to. */
70 SHARED_LIBRARY_STUFF CCloudProfile cloudProfileByName(const QString &strProviderShortName,
71 const QString &strProfileName,
72 QString &strErrorMessage);
73 /** Acquires cloud client created for @a comProfile,
74 * using @a pParent to show messages according to. */
75 SHARED_LIBRARY_STUFF CCloudClient cloudClient(CCloudProfile comProfile,
76 UINotificationCenter *pParent = 0);
77 /** Acquires cloud client created for @a comProfile,
78 * using @a strErrorMessage to store messages to. */
79 SHARED_LIBRARY_STUFF CCloudClient cloudClient(CCloudProfile comProfile,
80 QString &strErrorMessage);
81 /** Acquires cloud client specified by @a strProviderShortName and @a strProfileName,
82 * using @a pParent to show messages according to. */
83 SHARED_LIBRARY_STUFF CCloudClient cloudClientByName(const QString &strProviderShortName,
84 const QString &strProfileName,
85 UINotificationCenter *pParent = 0);
86 /** Acquires cloud client specified by @a strProviderShortName and @a strProfileName,
87 * using @a strErrorMessage to store messages to. */
88 SHARED_LIBRARY_STUFF CCloudClient cloudClientByName(const QString &strProviderShortName,
89 const QString &strProfileName,
90 QString &strErrorMessage);
91
92 /** Creates virtual system description, using @a pParent to show messages according to. */
93 SHARED_LIBRARY_STUFF CVirtualSystemDescription createVirtualSystemDescription(UINotificationCenter *pParent = 0);
94
95 /** Acquires cloud providers, using @a pParent to show messages according to. */
96 SHARED_LIBRARY_STUFF QVector<CCloudProvider> listCloudProviders(UINotificationCenter *pParent = 0);
97
98 /** Acquires @a comCloudProvider ID as a @a uResult, using @a pParent to show messages according to. */
99 SHARED_LIBRARY_STUFF bool cloudProviderId(const CCloudProvider &comCloudProvider,
100 QUuid &uResult,
101 UINotificationCenter *pParent = 0);
102 /** Acquires @a comCloudProvider short name as a @a strResult, using @a pParent to show messages according to. */
103 SHARED_LIBRARY_STUFF bool cloudProviderShortName(const CCloudProvider &comCloudProvider,
104 QString &strResult,
105 UINotificationCenter *pParent = 0);
106 /** Acquires @a comCloudProvider name as a @a strResult, using @a pParent to show messages according to. */
107 SHARED_LIBRARY_STUFF bool cloudProviderName(const CCloudProvider &comCloudProvider,
108 QString &strResult,
109 UINotificationCenter *pParent = 0);
110
111 /** Acquires cloud profiles of certain @a comCloudProvider, using @a pParent to show messages according to. */
112 SHARED_LIBRARY_STUFF QVector<CCloudProfile> listCloudProfiles(const CCloudProvider &comCloudProvider,
113 UINotificationCenter *pParent = 0);
114
115 /** Acquires @a comCloudProfile name as a @a strResult, using @a pParent to show messages according to. */
116 SHARED_LIBRARY_STUFF bool cloudProfileName(const CCloudProfile &comCloudProfile,
117 QString &strResult,
118 UINotificationCenter *pParent = 0);
119 /** Acquires @a comCloudProfile properties as a @a keys/values using @a pParent to show messages according to. */
120 SHARED_LIBRARY_STUFF bool cloudProfileProperties(const CCloudProfile &comCloudProfile,
121 QVector<QString> &keys,
122 QVector<QString> &values,
123 UINotificationCenter *pParent = 0);
124
125 /** Acquires cloud images of certain @a comCloudClient, using @a pParent to show messages according to. */
126 SHARED_LIBRARY_STUFF bool listCloudImages(const CCloudClient &comCloudClient,
127 CStringArray &comNames,
128 CStringArray &comIDs,
129 UINotificationCenter *pParent);
130 /** Acquires cloud source boot volumes of certain @a comCloudClient, using @a pParent to show messages according to. */
131 SHARED_LIBRARY_STUFF bool listCloudSourceBootVolumes(const CCloudClient &comCloudClient,
132 CStringArray &comNames,
133 CStringArray &comIDs,
134 UINotificationCenter *pParent);
135 /** Acquires cloud instances of certain @a comCloudClient, using @a pParent to show messages according to. */
136 SHARED_LIBRARY_STUFF bool listCloudInstances(const CCloudClient &comCloudClient,
137 CStringArray &comNames,
138 CStringArray &comIDs,
139 UINotificationCenter *pParent);
140 /** Acquires cloud source instances of certain @a comCloudClient, using @a pParent to show messages according to. */
141 SHARED_LIBRARY_STUFF bool listCloudSourceInstances(const CCloudClient &comCloudClient,
142 CStringArray &comNames,
143 CStringArray &comIDs,
144 UINotificationCenter *pParent);
145
146 /** Acquires @a comCloudClient export description form as a @a comResult, using @a pParent to show messages according to. */
147 SHARED_LIBRARY_STUFF bool exportDescriptionForm(const CCloudClient &comCloudClient,
148 const CVirtualSystemDescription &comDescription,
149 CVirtualSystemDescriptionForm &comResult,
150 UINotificationCenter *pParent);
151 /** Acquires @a comCloudClient import description form as a @a comResult, using @a pParent to show messages according to. */
152 SHARED_LIBRARY_STUFF bool importDescriptionForm(const CCloudClient &comCloudClient,
153 const CVirtualSystemDescription &comDescription,
154 CVirtualSystemDescriptionForm &comResult,
155 UINotificationCenter *pParent);
156
157 /** Acquires @a comCloudMachine ID as a @a uResult, using @a pParent to show messages according to. */
158 SHARED_LIBRARY_STUFF bool cloudMachineId(const CCloudMachine &comCloudMachine,
159 QUuid &uResult,
160 UINotificationCenter *pParent = 0);
161 /** Acquires @a comCloudMachine name as a @a strResult, using @a pParent to show messages according to. */
162 SHARED_LIBRARY_STUFF bool cloudMachineName(const CCloudMachine &comCloudMachine,
163 QString &strResult,
164 UINotificationCenter *pParent = 0);
165 /** Acquires @a comCloudMachine console connection fingerprint as a @a strResult,
166 * using @a pParent to show messages according to. */
167 SHARED_LIBRARY_STUFF bool cloudMachineConsoleConnectionFingerprint(const CCloudMachine &comCloudMachine,
168 QString &strResult,
169 UINotificationCenter *pParent = 0);
170
171 /** Acquires @a comCloudMachine settings form as a @a comResult, using @a pParent to show messages according to. */
172 SHARED_LIBRARY_STUFF bool cloudMachineSettingsForm(const CCloudMachine &comCloudMachine,
173 CForm &comResult,
174 UINotificationCenter *pParent);
175 /** Acquires @a comCloudMachine settings form as a @a comResult, using @a strErrorMessage to store messages to.
176 * @note Be aware, this is a blocking function, it will hang for a time of progress being executed. */
177 SHARED_LIBRARY_STUFF bool cloudMachineSettingsForm(CCloudMachine comCloudMachine,
178 CForm &comResult,
179 QString &strErrorMessage);
180
181 /** Applies @a comCloudMachine @a comForm settings, using @a pParent to show messages according to. */
182 SHARED_LIBRARY_STUFF bool applyCloudMachineSettingsForm(const CCloudMachine &comCloudMachine,
183 const CForm &comForm,
184 UINotificationCenter *pParent);
185
186 /** Creates cloud machine clone.
187 * @param strProviderShortName Brings short provider name.
188 * @param strProfileName Brings profile name.
189 * @param comCloudMachine Brings cloud machine instance of which being cloned.
190 * @param strCloneName Brings clone name.
191 * @param pParent Brings notification-center reference. */
192 SHARED_LIBRARY_STUFF void createCloudMachineClone(const QString &strProviderShortName,
193 const QString &strProfileName,
194 const CCloudMachine &comCloudMachine,
195 const QString &strCloneName,
196 UINotificationCenter *pParent);
197}
198
199/* Using across any module who included us: */
200using namespace UICloudNetworkingStuff;
201
202#endif /* !FEQT_INCLUDED_SRC_globals_UICloudNetworkingStuff_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