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>
287 QObject *windowObject,
std::function<
void(
AbilityOnContinueRequest, QOhosConsumer<AbilityOnContinueResponse>)> requestsHandler) = 0;
290 QObject *optInstanceMainWindow,
bool continuationActive) = 0;
299 QObject *context, QOhosConsumer<QSharedPointer<WantInfo>> wantConsumer) = 0;
302 const QString &processId,
const QJsonObject &requestWant,
303 const QOhosOptional<StartOptions> &optStartOptions) = 0;
305 virtual bool startAbility(
const QJsonObject &want,
const QOhosOptional<StartOptions> &options) = 0;
310 const QJsonObject &want,
const QOhosOptional<StartOptions> &options,
311 QObject *optInstanceMainWindow, QObject *resultConsumerQtContext,
312 QOhosConsumer<QOhosOptional<AbilityResult>> resultConsumer) = 0;
315 std::vector<QObject *> instancesMainWindows,
bool destroyEnabled) = 0;
320 QOhosConsumer<QOhosOptional<
bool>> darkModeFlagChangedHandler) = 0;
323 QOhosConsumer<
double> valueChangedHandler) = 0;
334 const QString &portName, QObject *resultConsumerQtContext,
335 QOhosConsumer<std::shared_ptr<
void>> resultConsumer) = 0;
338 const QList<FileShare::PolicyInfo> &policyInfos) = 0;
341 const QList<FileShare::PolicyInfo> &policyInfos) = 0;
344 const QList<FileShare::PolicyInfo> &policyInfos) = 0;
347 const QList<FileShare::PolicyInfo> &policyInfos) = 0;
358 QObject *optWindowObject,
const QList<ShareKit::SharedRecord> &recordsToShare,
360 std::function<
void()> panelClosedCallback,
361 QOhosConsumer<ShareKit::ShareOperationResult> optShareCompletedCallback =
nullptr) = 0;
363 virtual bool tryOpenLink(QObject *optInstanceMainWindow,
const QString &link, QOhosOptional<
bool> appLinkingOnly) = 0;
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 bool hasSerialPortAccessRight(const QString &portName)=0
virtual std::pair< bool, QList< FileShare::PolicyErrorResult > > revokePermission(const QList< FileShare::PolicyInfo > &policyInfos)=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 std::shared_ptr< void > shareDataUsingShareKit(QObject *optWindowObject, const QList< ShareKit::SharedRecord > &recordsToShare, const ShareKit::ShareControllerOptions &controllerOptions, std::function< void()> panelClosedCallback, QOhosConsumer< ShareKit::ShareOperationResult > optShareCompletedCallback=nullptr)=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 QOhosOptional< AudioStreamUsage > tryGetAudioStreamUsageHintProperty(QObject *qObject)=0
virtual void setWindowContrast(QObject *window, int contrast)=0
virtual void setWindowDragResizable(QObject *windowOrWidget, bool dragResizable)=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 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 bool tryOpenLink(QObject *optInstanceMainWindow, const QString &link, QOhosOptional< bool > appLinkingOnly)=0
virtual bool startAbility(const QJsonObject &want, const QOhosOptional< StartOptions > &options)=0
virtual ~QOhosQpaFunctions()
virtual void requestSerialPortAccessRight(const QString &portName, QObject *resultConsumerQtContext, QOhosConsumer< std::shared_ptr< void > > resultConsumer)=0
virtual void startNoUiChildProcess(QString libraryName, QStringList args)=0
virtual void setWindowCornerRadius(QObject *windowOrWidget, double radius)=0
virtual void setAudioStreamUsageHintProperty(QObject *qObject, AudioStreamUsage usage)=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()
QT_END_NAMESPACE Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::kit::ShareKit::systemShare::SelectionMode))
std::nullopt_t 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
QString targetAbilityName
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< 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