VirtualBox

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

Last change on this file since 89998 was 89998, checked in by vboxsync, 4 years ago

FE/Qt: bugref:9996: Extending UICloudNetworkingStuff with API to aquire cloud instances; Using that stuff from Add Cloud VM wizard.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 19.1 KB
Line 
1/* $Id: UICloudNetworkingStuff.h 89998 2021-07-02 10:36:16Z vboxsync $ */
2/** @file
3 * VBox Qt GUI - UICloudNetworkingStuff namespace declaration.
4 */
5
6/*
7 * Copyright (C) 2020 Oracle Corporation
8 *
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.
16 */
17
18#ifndef FEQT_INCLUDED_SRC_globals_UICloudNetworkingStuff_h
19#define FEQT_INCLUDED_SRC_globals_UICloudNetworkingStuff_h
20#ifndef RT_WITHOUT_PRAGMA_ONCE
21# pragma once
22#endif
23
24/* GUI includes: */
25#include "UILibraryDefs.h"
26
27/* COM includes: */
28#include "COMEnums.h"
29#include "CCloudClient.h"
30#include "CCloudMachine.h"
31#include "CCloudProfile.h"
32#include "CCloudProvider.h"
33#include "CCloudProviderManager.h"
34#include "CForm.h"
35
36/** Cloud networking stuff namespace. */
37namespace UICloudNetworkingStuff
38{
39 /** Acquires cloud provider manager,
40 * using @a pParent to show messages according to. */
41 SHARED_LIBRARY_STUFF CCloudProviderManager cloudProviderManager(QWidget *pParent = 0);
42 /** Acquires cloud provider manager,
43 * using @a strErrorMessage to store messages to. */
44 SHARED_LIBRARY_STUFF CCloudProviderManager cloudProviderManager(QString &strErrorMessage);
45 /** Acquires cloud provider specified by @a uProviderId,
46 * using @a pParent to show messages according to. */
47 SHARED_LIBRARY_STUFF CCloudProvider cloudProviderById(const QUuid &uProviderId,
48 QWidget *pParent = 0);
49 /** Acquires cloud provider specified by @a uProviderId,
50 * using @a strErrorMessage to store messages to. */
51 SHARED_LIBRARY_STUFF CCloudProvider cloudProviderById(const QUuid &uProviderId,
52 QString &strErrorMessage);
53 /** Acquires cloud provider specified by @a strProviderShortName,
54 * using @a pParent to show messages according to. */
55 SHARED_LIBRARY_STUFF CCloudProvider cloudProviderByShortName(const QString &strProviderShortName,
56 QWidget *pParent = 0);
57 /** Acquires cloud provider specified by @a strProviderShortName,
58 * using @a strErrorMessage to store messages to. */
59 SHARED_LIBRARY_STUFF CCloudProvider cloudProviderByShortName(const QString &strProviderShortName,
60 QString &strErrorMessage);
61 /** Acquires cloud profile specified by @a strProviderShortName and @a strProfileName,
62 * using @a pParent to show messages according to. */
63 SHARED_LIBRARY_STUFF CCloudProfile cloudProfileByName(const QString &strProviderShortName,
64 const QString &strProfileName,
65 QWidget *pParent = 0);
66 /** Acquires cloud profile specified by @a strProviderShortName and @a strProfileName,
67 * using @a strErrorMessage to store messages to. */
68 SHARED_LIBRARY_STUFF CCloudProfile cloudProfileByName(const QString &strProviderShortName,
69 const QString &strProfileName,
70 QString &strErrorMessage);
71 /** Acquires cloud client specified by @a strProviderShortName and @a strProfileName,
72 * using @a pParent to show messages according to. */
73 SHARED_LIBRARY_STUFF CCloudClient cloudClientByName(const QString &strProviderShortName,
74 const QString &strProfileName,
75 QWidget *pParent = 0);
76 /** Acquires cloud client specified by @a strProviderShortName and @a strProfileName,
77 * using @a strErrorMessage to store messages to. */
78 SHARED_LIBRARY_STUFF CCloudClient cloudClientByName(const QString &strProviderShortName,
79 const QString &strProfileName,
80 QString &strErrorMessage);
81 /** Acquires cloud machine specified by @a strProviderShortName, @a strProfileName and @a uMachineId,
82 * using @a pParent to show messages according to. */
83 SHARED_LIBRARY_STUFF CCloudMachine cloudMachineById(const QString &strProviderShortName,
84 const QString &strProfileName,
85 const QUuid &uMachineId,
86 QWidget *pParent = 0);
87 /** Acquires cloud machine specified by @a strProviderShortName, @a strProfileName and @a uMachineId,
88 * using @a strErrorMessage to store messages to. */
89 SHARED_LIBRARY_STUFF CCloudMachine cloudMachineById(const QString &strProviderShortName,
90 const QString &strProfileName,
91 const QUuid &uMachineId,
92 QString &strErrorMessage);
93
94 /** Creates virtual system description, using @a pParent to show messages according to. */
95 SHARED_LIBRARY_STUFF CVirtualSystemDescription createVirtualSystemDescription(QWidget *pParent = 0);
96 /** Creates virtual system description, using @a strErrorMessage to store messages to. */
97 SHARED_LIBRARY_STUFF CVirtualSystemDescription createVirtualSystemDescription(QString &strErrorMessage);
98
99 /** Acquires cloud providers, using @a pParent to show messages according to. */
100 SHARED_LIBRARY_STUFF QVector<CCloudProvider> listCloudProviders(QWidget *pParent = 0);
101 /** Acquires cloud providers, using @a strErrorMessage to store messages to. */
102 SHARED_LIBRARY_STUFF QVector<CCloudProvider> listCloudProviders(QString &strErrorMessage);
103
104 /** Acquires @a comCloudProvider ID as a @a uResult, using @a pParent to show messages according to. */
105 SHARED_LIBRARY_STUFF bool cloudProviderId(const CCloudProvider &comCloudProvider,
106 QUuid &uResult,
107 QWidget *pParent = 0);
108 /** Acquires @a comCloudProvider short name as a @a strResult, using @a pParent to show messages according to. */
109 SHARED_LIBRARY_STUFF bool cloudProviderShortName(const CCloudProvider &comCloudProvider,
110 QString &strResult,
111 QWidget *pParent = 0);
112 /** Acquires @a comCloudProvider name as a @a strResult, using @a pParent to show messages according to. */
113 SHARED_LIBRARY_STUFF bool cloudProviderName(const CCloudProvider &comCloudProvider,
114 QString &strResult,
115 QWidget *pParent = 0);
116
117 /** Acquires cloud profiles of certain @a comCloudProvider, using @a pParent to show messages according to. */
118 SHARED_LIBRARY_STUFF QVector<CCloudProfile> listCloudProfiles(CCloudProvider comCloudProvider,
119 QWidget *pParent = 0);
120 /** Acquires cloud profiles of certain @a comCloudProvider, using @a strErrorMessage to store messages to. */
121 SHARED_LIBRARY_STUFF QVector<CCloudProfile> listCloudProfiles(CCloudProvider comCloudProvider,
122 QString &strErrorMessage);
123
124 /** Acquires @a comCloudProfile name as a @a strResult, using @a pParent to show messages according to. */
125 SHARED_LIBRARY_STUFF bool cloudProfileName(const CCloudProfile &comCloudProfile,
126 QString &strResult,
127 QWidget *pParent = 0);
128 /** Acquires @a comCloudProfile properties as a @a keys/values using @a pParent to show messages according to. */
129 SHARED_LIBRARY_STUFF bool cloudProfileProperties(const CCloudProfile &comCloudProfile,
130 QVector<QString> &keys,
131 QVector<QString> &values,
132 QWidget *pParent = 0);
133
134 /** Acquires cloud images of certain @a comCloudClient, using @a pParent to show messages according to. */
135 SHARED_LIBRARY_STUFF bool listCloudImages(const CCloudClient &comCloudClient,
136 CStringArray &comNames,
137 CStringArray &comIDs,
138 QWidget *pParent = 0);
139 /** Acquires cloud images of certain @a comCloudClient, using @a strErrorMessage to store messages to. */
140 SHARED_LIBRARY_STUFF bool listCloudImages(const CCloudClient &comCloudClient,
141 CStringArray &comNames,
142 CStringArray &comIDs,
143 QString &strErrorMessage);
144 /** Acquires cloud source boot volumes of certain @a comCloudClient, using @a pParent to show messages according to. */
145 SHARED_LIBRARY_STUFF bool listCloudSourceBootVolumes(const CCloudClient &comCloudClient,
146 CStringArray &comNames,
147 CStringArray &comIDs,
148 QWidget *pParent = 0);
149 /** Acquires cloud source boot volumes of certain @a comCloudClient, using @a strErrorMessage to store messages to. */
150 SHARED_LIBRARY_STUFF bool listCloudSourceBootVolumes(const CCloudClient &comCloudClient,
151 CStringArray &comNames,
152 CStringArray &comIDs,
153 QString &strErrorMessage);
154 /** Acquires cloud source instances of certain @a comCloudClient, using @a pParent to show messages according to. */
155 SHARED_LIBRARY_STUFF bool listCloudSourceInstances(const CCloudClient &comCloudClient,
156 CStringArray &comNames,
157 CStringArray &comIDs,
158 QWidget *pParent = 0);
159 /** Acquires cloud source instances of certain @a comCloudClient, using @a strErrorMessage to store messages to. */
160 SHARED_LIBRARY_STUFF bool listCloudSourceInstances(const CCloudClient &comCloudClient,
161 CStringArray &comNames,
162 CStringArray &comIDs,
163 QString &strErrorMessage);
164
165 /** Acquires cloud machines of certain @a comCloudClient, using @a pParent to show messages according to. */
166 SHARED_LIBRARY_STUFF QVector<CCloudMachine> listCloudMachines(CCloudClient comCloudClient,
167 QWidget *pParent = 0);
168 /** Acquires cloud machines of certain @a comCloudClient, using @a strErrorMessage to store messages to. */
169 SHARED_LIBRARY_STUFF QVector<CCloudMachine> listCloudMachines(CCloudClient comCloudClient,
170 QString &strErrorMessage);
171 /** Acquires cloud machine stubs of certain @a comCloudClient, using @a pParent to show messages according to. */
172 SHARED_LIBRARY_STUFF QVector<CCloudMachine> listCloudMachineStubs(CCloudClient comCloudClient,
173 QWidget *pParent = 0);
174 /** Acquires cloud machine stubs of certain @a comCloudClient, using @a strErrorMessage to store messages to. */
175 SHARED_LIBRARY_STUFF QVector<CCloudMachine> listCloudMachineStubs(CCloudClient comCloudClient,
176 QString &strErrorMessage);
177
178 /** Acquires @a comCloudMachine ID as a @a uResult, using @a pParent to show messages according to. */
179 SHARED_LIBRARY_STUFF bool cloudMachineId(const CCloudMachine &comCloudMachine,
180 QUuid &uResult,
181 QWidget *pParent = 0);
182 /** Acquires @a comCloudMachine accessible state as a @a fResult, using @a pParent to show messages according to. */
183 SHARED_LIBRARY_STUFF bool cloudMachineAccessible(const CCloudMachine &comCloudMachine,
184 bool &fResult,
185 QWidget *pParent = 0);
186 /** Acquires @a comCloudMachine accessible error as a @a comResult, using @a pParent to show messages according to. */
187 SHARED_LIBRARY_STUFF bool cloudMachineAccessError(const CCloudMachine &comCloudMachine,
188 CVirtualBoxErrorInfo &comResult,
189 QWidget *pParent = 0);
190 /** Acquires @a comCloudMachine name as a @a strResult, using @a pParent to show messages according to. */
191 SHARED_LIBRARY_STUFF bool cloudMachineName(const CCloudMachine &comCloudMachine,
192 QString &strResult,
193 QWidget *pParent = 0);
194 /** Acquires @a comCloudMachine OS type ID as a @a strResult, using @a pParent to show messages according to. */
195 SHARED_LIBRARY_STUFF bool cloudMachineOSTypeId(const CCloudMachine &comCloudMachine,
196 QString &strResult,
197 QWidget *pParent = 0);
198 /** Acquires @a comCloudMachine state as a @a enmResult, using @a pParent to show messages according to. */
199 SHARED_LIBRARY_STUFF bool cloudMachineState(const CCloudMachine &comCloudMachine,
200 KCloudMachineState &enmResult,
201 QWidget *pParent = 0);
202 /** Acquires @a comCloudMachine console connection fingerprint as a @a strResult,
203 * using @a pParent to show messages according to. */
204 SHARED_LIBRARY_STUFF bool cloudMachineConsoleConnectionFingerprint(const CCloudMachine &comCloudMachine,
205 QString &strResult,
206 QWidget *pParent = 0);
207
208 /** Acquires @a comCloudMachine settings form as a @a comResult, using @a pParent to show messages according to.
209 * @note Be aware, this is a blocking function, corresponding progress dialog will be executed. */
210 SHARED_LIBRARY_STUFF bool cloudMachineSettingsForm(CCloudMachine comCloudMachine,
211 CForm &comResult,
212 QWidget *pParent = 0);
213 /** Acquires @a comCloudMachine settings form as a @a comResult, using @a strErrorMessage to store messages to.
214 * @note Be aware, this is a blocking function, it will hang for a time of progress being executed. */
215 SHARED_LIBRARY_STUFF bool cloudMachineSettingsForm(CCloudMachine comCloudMachine,
216 CForm &comResult,
217 QString &strErrorMessage);
218
219 /** Applies @a comCloudMachine @a comForm settings, using @a pParent to show messages according to.
220 * @note Be aware, this is a blocking function, corresponding progress dialog will be executed. */
221 SHARED_LIBRARY_STUFF bool applyCloudMachineSettingsForm(CCloudMachine comCloudMachine,
222 CForm comForm,
223 QWidget *pParent = 0);
224
225 /** Acquires instance map.
226 * @param comCloudClient Brings cloud client object.
227 * @param strErrorMessage Brings error message container.
228 * @param pWidget Brings parent widget to show messages according to,
229 * if no parent set, progress will be executed in blocking way. */
230 SHARED_LIBRARY_STUFF QMap<QString, QString> listInstances(const CCloudClient &comCloudClient,
231 QString &strErrorMessage,
232 QWidget *pParent = 0);
233 /** Acquires instance info as a map.
234 * @param comCloudClient Brings cloud client object.
235 * @param strId Brings cloud instance id.
236 * @param strErrorMessage Brings error message container.
237 * @param pWidget Brings parent widget to show messages according to,
238 * if no parent set, progress will be executed in blocking way. */
239 SHARED_LIBRARY_STUFF QMap<KVirtualSystemDescriptionType, QString> getInstanceInfo(const CCloudClient &comCloudClient,
240 const QString &strId,
241 QString &strErrorMessage,
242 QWidget *pParent = 0);
243 /** Acquires instance info of certain @a enmType as a string.
244 * @param comCloudClient Brings cloud client object.
245 * @param strId Brings cloud instance id.
246 * @param strErrorMessage Brings error message container.
247 * @param pWidget Brings parent widget to show messages according to,
248 * if no parent set, progress will be executed in blocking way. */
249 SHARED_LIBRARY_STUFF QString getInstanceInfo(KVirtualSystemDescriptionType enmType,
250 const CCloudClient &comCloudClient,
251 const QString &strId,
252 QString &strErrorMessage,
253 QWidget *pParent = 0);
254 /** Acquires image info as a map.
255 * @param comCloudClient Brings cloud client object.
256 * @param strId Brings cloud image id.
257 * @param strErrorMessage Brings error message container.
258 * @param pWidget Brings parent widget to show messages according to,
259 * if no parent set, progress will be executed in blocking way. */
260 SHARED_LIBRARY_STUFF QMap<QString, QString> getImageInfo(const CCloudClient &comCloudClient,
261 const QString &strId,
262 QString &strErrorMessage,
263 QWidget *pParent = 0);
264}
265
266/* Using across any module who included us: */
267using namespace UICloudNetworkingStuff;
268
269#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