4#ifndef QOHOSQPAFUNCTIONS_H
5#define QOHOSQPAFUNCTIONS_H
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>
32#include <qohosplugincore.h>
251 QOhosConsumer<QOhosOptional<quint32>> colorConsumer) = 0;
276 QObject *windowObject,
std::function<
void(
AbilityOnContinueRequest, QOhosConsumer<AbilityOnContinueResponse>)> requestsHandler) = 0;
279 QObject *optInstanceMainWindow,
bool continuationActive) = 0;
288 QObject *context, QOhosConsumer<QSharedPointer<WantInfo>> wantConsumer) = 0;
291 const QString &processId,
const QJsonObject &requestWant,
300 QObject *optInstanceMainWindow, QObject *resultConsumerQtContext,
301 QOhosConsumer<QOhosOptional<AbilityResult>> resultConsumer) = 0;
304 std::vector<QObject *> instancesMainWindows,
bool destroyEnabled) = 0;
309 QOhosConsumer<QOhosOptional<
bool>> darkModeFlagChangedHandler) = 0;
312 QOhosConsumer<
double> valueChangedHandler) = 0;
321 const QList<FileShare::PolicyInfo> &policyInfos) = 0;
324 const QList<FileShare::PolicyInfo> &policyInfos) = 0;
327 const QList<FileShare::PolicyInfo> &policyInfos) = 0;
330 const QList<FileShare::PolicyInfo> &policyInfos) = 0;
341 QObject *optWindowObject,
const QList<ShareKit::SharedRecord> &recordsToShare,
345 QObject *optWindowObject,
const QList<ShareKit::SharedRecord> &recordsToShare,
347 std::function<
void()> panelClosedCallback) = 0;
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
NativeNodeRenderFitPolicy
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
AbilityOnContinueResponseStatus
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
WindowGeometryPersistencePolicy
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 ~QOhosQpaFunctions()
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()
int sourceApplicationVersionCode
QOhosOptional< bool > exitAppOnSourceDeviceAfterMigration
QMap< QString, QString > wantObjectParams
AbilityOnContinueResponseStatus status
QOhosOptional< QJsonObject > want
QOhosOptional< PolicyErrorCode > error
std::set< OperationMode > operationModes
@ PERMISSION_NOT_PERSISTED
QOhosOptional< QPoint > anchorOffset
QOhosOptional< bool > useDefaultPreviewMode
QOhosOptional< QSize > anchorSize
QOhosOptional< QList< ShareAbilityType > > excludedAbilities
QOhosOptional< bool > useSingleSelectionMode
QOhosOptional< QString > filePath
QOhosOptional< QString > thumbnailFilePath
QOhosOptional< QString > description
QOhosOptional< QString > content
QOhosOptional< QString > title
QOhosOptional< QString > label
QOhosOptional< QVariantMap > extraData
QOhosOptional< QByteArray > thumbnail
bool setWindowFadeInOutAnimation
QOhosOptional< int > windowTop
QOhosOptional< bool > hideStartWindow
@ NEW_PROCESS_ATTACH_TO_PARENT
@ NEW_PROCESS_ATTACH_TO_STATUS_BAR_ITEM
QOhosOptional< StartupVisibility > startupVisibility
QOhosOptional< QString > windowBackgroundColorHex
QOhosOptional< bool > withAnimation
QOhosOptional< int > minWindowWidth
QOhosOptional< int > minWindowHeight
QOhosOptional< int > windowWidth
QOhosOptional< QVariant > windowIcon
QOhosOptional< int > displayId
std::shared_ptr< QOhosConsumer< bool, QJsonObject, QString > > optCompletionHandler
QOhosOptional< int > windowLeft
QOhosOptional< int > maxWindowWidth
QOhosOptional< bool > windowFocused
QOhosOptional< WindowMode > windowMode
QOhosOptional< int > maxWindowHeight
@ WINDOW_MODE_SPLIT_PRIMARY
@ WINDOW_MODE_SPLIT_SECONDARY
QOhosOptional< int > windowHeight
QOhosOptional< WindowCreateParams > windowCreateParams
QOhosOptional< ProcessMode > processMode
QOhosOptional< QList< SupportWindowMode > > supportWindowModes