Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qohosqpafunctions_p.h
Go to the documentation of this file.
1// Copyright (C) 2025 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QOHOSQPAFUNCTIONS_H
5#define QOHOSQPAFUNCTIONS_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <QtCore/private/qohoscommon_p.h>
19#include <QtCore/qglobal.h>
20#include <QtCore/qjsonobject.h>
21#include <QtCore/qlist.h>
22#include <QtCore/qmap.h>
23#include <QtCore/qmimedata.h>
24#include <QtCore/qobject.h>
25#include <QtCore/qpoint.h>
26#include <QtCore/qsize.h>
27#include <QtCore/qstring.h>
28#include <QtCore/qstringlist.h>
29#include <QtCore/qvariant.h>
30#include <functional>
31#include <memory>
32#include <qohosplugincore.h>
33#include <set>
34#include <utility>
35#include <vector>
36
37QT_BEGIN_NAMESPACE
38
39namespace QtOhos {
40
42{
43public:
49
55
62
69
74
81
109
164
170
176
212
214 {
215 public:
224
230
231 virtual ~WantInfo();
232
233 virtual QJsonObject jsonObject() const = 0;
234
236
238
239 virtual LaunchReason launchReason() const = 0;
240
241 protected:
243
244 private:
246 };
247
249
251 QOhosConsumer<QOhosOptional<quint32>> colorConsumer) = 0;
252
253 virtual void setWindowPrivacyMode(QObject *window, bool privacyModeEnabled) = 0;
254 virtual double getFontSizeScale() = 0;
255 virtual void setWindowCornerRadius(QObject *windowOrWidget, double radius) = 0;
256 virtual void tagWindowOrWidgetAsFloatWindow(QObject *windowOrWidget, bool floatWindow) = 0;
257
258 virtual void setInAppOnlyPasteboardShareOption(bool shareInAppOnly) = 0;
261
262 virtual ScreenChangeResult tryChangePlatformWindowScreenInternal(QObject *windowObject, QObject *screenObject) = 0;
263
264 virtual void setWindowOrWidgetNativeNodeRenderFitPolicyHint(QObject *windowOrWidget, NativeNodeRenderFitPolicy renderFitPolicy) = 0;
265
266 virtual void setSurfaceBackgroundColor(QObject *windowOrWidget, const QColor &color) = 0;
267
269
270 virtual void setWindowKeepScreenOn(QObject *windowOrWidget, bool keepScreenOn) = 0;
271
272 virtual QOhosOptional<double> tryGetNativeWindowId(QObject *window) = 0;
273 virtual QOhosOptional<double> tryGetScreenDisplayId(QObject *screenObject) = 0;
274
276 QObject *windowObject, std::function<void(AbilityOnContinueRequest, QOhosConsumer<AbilityOnContinueResponse>)> requestsHandler) = 0;
277
279 QObject *optInstanceMainWindow, bool continuationActive) = 0;
280
281 Q_NORETURN virtual void restartApp(QOhosOptional<QJsonObject> want) = 0;
282
285
286 virtual void addNewWantConsumer(QObject *context, QOhosConsumer<QJsonObject> wantConsumer) = 0;
287 virtual void addNewWantConsumer(
288 QObject *context, QOhosConsumer<QSharedPointer<WantInfo>> wantConsumer) = 0;
289
290 virtual void startAppProcess(
291 const QString &processId, const QJsonObject &requestWant,
292 const QOhosOptional<StartOptions> &optStartOptions) = 0;
293
294 virtual bool startAbility(const QJsonObject &want, const QOhosOptional<StartOptions> &options) = 0;
295
296 virtual bool startAbilityByType(const QString &appType, const QJsonObject &wantParameters) = 0;
297
299 const QJsonObject &want, const QOhosOptional<StartOptions> &options,
300 QObject *optInstanceMainWindow, QObject *resultConsumerQtContext,
301 QOhosConsumer<QOhosOptional<AbilityResult>> resultConsumer) = 0;
302
304 std::vector<QObject *> instancesMainWindows, bool destroyEnabled) = 0;
305
306 virtual void setOhosConfigDarkModeFlag(QOhosOptional<bool> darkModeFlag) = 0;
307
309 QOhosConsumer<QOhosOptional<bool>> darkModeFlagChangedHandler) = 0;
310
312 QOhosConsumer<double> valueChangedHandler) = 0;
313
315
316 virtual bool readOhosNoUiChildMode() = 0;
317
318 virtual void startNoUiChildProcess(QString libraryName, QStringList args) = 0;
319
321 const QList<FileShare::PolicyInfo> &policyInfos) = 0;
322
324 const QList<FileShare::PolicyInfo> &policyInfos) = 0;
325
327 const QList<FileShare::PolicyInfo> &policyInfos) = 0;
328
330 const QList<FileShare::PolicyInfo> &policyInfos) = 0;
331
332 virtual std::pair<bool, std::vector<bool>> checkPersistent(const QList<FileShare::PolicyInfo> &policyInfos) = 0;
333
334 virtual bool showFileDialogToAuthorizeFilePath(QObject *parentWindow, const QString &filePath) = 0;
335
336 virtual void setWindowBrightness(QObject *window, int brightness) = 0;
337 virtual void setWindowContrast(QObject *window, int contrast) = 0;
338 virtual void setWindowSaturation(QObject *window, int saturation) = 0;
339
341 QObject *optWindowObject, const QList<ShareKit::SharedRecord> &recordsToShare,
342 const ShareKit::ShareControllerOptions &controllerOptions) = 0;
343
344 virtual std::shared_ptr<void> shareDataUsingShareKit(
345 QObject *optWindowObject, const QList<ShareKit::SharedRecord> &recordsToShare,
346 const ShareKit::ShareControllerOptions &controllerOptions,
347 std::function<void()> panelClosedCallback) = 0;
348
349 virtual bool tryOpenLink(QObject *optInstanceMainWindow, const QString &link, QOhosOptional<bool> appLinkingOnly) = 0;
350
351 virtual QObject *getActiveWindowOrNull() const = 0;
352
353protected:
355};
356
358
359}
360
361QT_END_NAMESPACE
362
363#endif // QOHOSQPAFUNCTIONS_H
std::enable_if_t< qohosplugincore_h_detail::isQOhosOptional< QOhosInvokeResult< Func, T > >, QOhosInvokeResult< Func, T > > andThen(Func &&func) const
static QWindowProxyRegistry & instance()
virtual LaunchReason launchReason() const =0
virtual QJsonObject jsonObject() const =0
virtual QOhosOptional< QList< ShareKit::SharedRecord > > tryGetSharedDataRecords() const =0
virtual QOhosOptional< ContactInfo > tryGetContactInfo() const =0
virtual void setOhosConfigDarkModeFlag(QOhosOptional< bool > darkModeFlag)=0
virtual void setWindowOrWidgetNativeNodeRenderFitPolicyHint(QObject *windowOrWidget, NativeNodeRenderFitPolicy renderFitPolicy)=0
virtual QJsonObject getAppLaunchWant()=0
virtual void setWindowSaturation(QObject *window, int saturation)=0
virtual QOhosSupplier< QOhosOptional< bool > > makeOhosConfigDarkModeFlagDataSource(QOhosConsumer< QOhosOptional< bool > > darkModeFlagChangedHandler)=0
virtual void setInAppOnlyPasteboardShareOption(bool shareInAppOnly)=0
virtual bool startAbilityByType(const QString &appType, const QJsonObject &wantParameters)=0
virtual std::pair< bool, QList< FileShare::PolicyErrorResult > > revokePermission(const QList< FileShare::PolicyInfo > &policyInfos)=0
virtual bool shareDataUsingShareKit(QObject *optWindowObject, const QList< ShareKit::SharedRecord > &recordsToShare, const ShareKit::ShareControllerOptions &controllerOptions)=0
virtual bool showFileDialogToAuthorizeFilePath(QObject *parentWindow, const QString &filePath)=0
virtual void startAbilityForResult(const QJsonObject &want, const QOhosOptional< StartOptions > &options, QObject *optInstanceMainWindow, QObject *resultConsumerQtContext, QOhosConsumer< QOhosOptional< AbilityResult > > resultConsumer)=0
virtual void setWindowPrivacyMode(QObject *window, bool privacyModeEnabled)=0
virtual void addNewWantConsumer(QObject *context, QOhosConsumer< QJsonObject > wantConsumer)=0
virtual void setSurfaceBackgroundColor(QObject *windowOrWidget, const QColor &color)=0
virtual QVariant getImageDataFromPasteboard() const =0
virtual void setDestroyAllowedFlagForAbilityInstances(std::vector< QObject * > instancesMainWindows, bool destroyEnabled)=0
virtual void startAppProcess(const QString &processId, const QJsonObject &requestWant, const QOhosOptional< StartOptions > &optStartOptions)=0
virtual void setMainWindowGeometryPersistencePolicy(WindowGeometryPersistencePolicy policy)=0
virtual void setOnContinueRequestsHandlerForAbilityInstanceWindow(QObject *windowObject, std::function< void(AbilityOnContinueRequest, QOhosConsumer< AbilityOnContinueResponse >)> requestsHandler)=0
virtual bool readOhosNoUiChildMode()=0
virtual void setWindowBrightness(QObject *window, int brightness)=0
virtual void tagWindowOrWidgetAsFloatWindow(QObject *windowOrWidget, bool floatWindow)=0
virtual QOhosOptional< double > tryGetScreenDisplayId(QObject *screenObject)=0
virtual ScreenChangeResult tryChangePlatformWindowScreenInternal(QObject *windowObject, QObject *screenObject)=0
virtual std::shared_ptr< void > shareDataUsingShareKit(QObject *optWindowObject, const QList< ShareKit::SharedRecord > &recordsToShare, const ShareKit::ShareControllerOptions &controllerOptions, std::function< void()> panelClosedCallback)=0
virtual void setWindowContrast(QObject *window, int contrast)=0
virtual void setWindowKeepScreenOn(QObject *windowOrWidget, bool keepScreenOn)=0
virtual QSharedPointer< WantInfo > getAppLaunchWantInfo() const =0
virtual std::pair< bool, QList< FileShare::PolicyErrorResult > > activatePermission(const QList< FileShare::PolicyInfo > &policyInfos)=0
virtual QOhosOptional< double > tryGetNativeWindowId(QObject *window)=0
virtual void setAbilityContinuationActive(QObject *optInstanceMainWindow, bool continuationActive)=0
virtual std::pair< bool, QList< FileShare::PolicyErrorResult > > persistPermission(const QList< FileShare::PolicyInfo > &policyInfos)=0
virtual QObject * getActiveWindowOrNull() const =0
virtual QString getTextDataFromPasteboard() const =0
virtual int getCurrentApplicationVersionCode()=0
virtual Q_NORETURN void restartApp(QOhosOptional< QJsonObject > want)=0
virtual std::pair< bool, QList< FileShare::PolicyErrorResult > > deactivatePermission(const QList< FileShare::PolicyInfo > &policyInfos)=0
virtual QOhosSupplier< double > makeOhosConfigFontSizeScaleDataSource(QOhosConsumer< double > valueChangedHandler)=0
virtual std::pair< bool, std::vector< bool > > checkPersistent(const QList< FileShare::PolicyInfo > &policyInfos)=0
virtual std::shared_ptr< void > startPickingColorFromScreenWithConsumer(QOhosConsumer< QOhosOptional< quint32 > > colorConsumer)=0
virtual bool tryOpenLink(QObject *optInstanceMainWindow, const QString &link, QOhosOptional< bool > appLinkingOnly)=0
virtual bool startAbility(const QJsonObject &want, const QOhosOptional< StartOptions > &options)=0
virtual double getFontSizeScale()=0
virtual void startNoUiChildProcess(QString libraryName, QStringList args)=0
virtual void setWindowCornerRadius(QObject *windowOrWidget, double radius)=0
void requestAppPermissionsOnSetting(QtOhos::JsState &jsState, std::shared_ptr< QtOhos::QAbilityPeer > abilityPeer, const std::vector< std::string > &permissionNames, QOhosConsumer< QtOhos::JsState &, std::vector< bool > > resultConsumer)
void checkAppPermissionGrantedWithConsumer(QtOhos::JsState &jsState, const std::string &permissionName, QOhosConsumer< QtOhos::JsState &, bool > resultConsumer)
void requestAppPermissionsFromUserWithResult(QtOhos::JsState &jsState, std::shared_ptr< QtOhos::QAbilityPeer > abilityPeer, const std::vector< std::string > &permissionNames, QOhosConsumer< QtOhos::JsState &, std::vector< AppPermissionResult > > resultConsumer)
Combined button and popup list for selecting options.
void invokeInJsThread(std::function< void(JsState &)> task)
QOhosQpaFunctions & getQOhosQpaFunctions()
QOhosPermissionsHelper * getQOhosPermissionsHelperImpl()
QOhosOptional< void > makeEmptyQOhosOptional()
QOhosOptional< QList< ShareAbilityType > > excludedAbilities
QOhosOptional< StartupVisibility > startupVisibility
QOhosOptional< QString > windowBackgroundColorHex
std::shared_ptr< QOhosConsumer< bool, QJsonObject, QString > > optCompletionHandler
QOhosOptional< WindowCreateParams > windowCreateParams
QOhosOptional< QList< SupportWindowMode > > supportWindowModes