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
qohosplugincore.h
Go to the documentation of this file.
1// Copyright (C) 2026 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 QOHOSPLUGINCORE_H
5#define QOHOSPLUGINCORE_H
6
7#include <QtCore/private/qcore_ohos_p.h>
8#include <QtCore/private/qnapi_p.h>
9#include <QtCore/private/qohoscommon_p.h>
10#include <QtCore/qobject.h>
11#include <atomic>
12#include <chrono>
13#include <cstdlib>
14#include <functional>
15#include <map>
16#include <memory>
17#include <optional>
18#include <qohosenums.h>
19#ifndef QT_NO_EXCEPTIONS
20#include <stdexcept>
21#endif
22#include <string>
23#include <type_traits>
24#include <typeinfo>
25#include <utility>
26#include <vector>
27
28QT_BEGIN_NAMESPACE
29
31
32template<typename A, typename B, typename = void>
34
35template<typename A, typename B>
36struct HasEqualityComparatorT<A, B, decltype(void(std::declval<A>() == std::declval<B>()))>
37 : std::true_type {};
38
39template<typename A, typename B>
41
42template<typename>
44
45template<typename T>
46struct IsStdOptional<std::optional<T>> : std::true_type {};
47
48template<typename T>
50
51}
52
53template<typename T>
54using QOhosOptional = std::optional<T>;
55
56template<typename T, typename Func>
57std::enable_if_t<
58 qohosplugincore_h_detail::isStdOptional<QOhosInvokeResult<Func, T>>,
59 QOhosInvokeResult<Func, T>>
60qAndThen(const std::optional<T> &opt, Func &&func);
61
62template<typename T, typename Func>
63std::optional<std::remove_cv_t<QOhosInvokeResult<Func, T>>> qTransform(const std::optional<T> &opt, Func &&func);
64
65template<typename T>
66std::optional<T> makeQOhosOptional(const T &value);
67
68std::nullopt_t makeEmptyQOhosOptional();
69
70namespace QtOhos {
71
73{
74public:
75 static void tagWindowAsClosing(QNapi::Object jsWindow, const char *logContext);
76 static bool isWindowClosing(QNapi::Object jsWindow);
77
78 JsWindowsTracker() = delete;
79};
80
82{
83public:
84 virtual ~QAbilityPeer();
85
86 virtual std::string instanceId() = 0;
87 virtual QNapi::Object uiContext() = 0;
88 virtual QNapi::Object qAbility() = 0;
89 virtual QNapi::Object launchWant() = 0;
92 virtual void forceResolveQWindowDestroyPromiseIfPresent(Napi::Env env) = 0;
93 virtual std::shared_ptr<std::atomic_bool> destroyAllowedFlag() = 0;
94 virtual bool isTerminating() = 0;
95
96 virtual void setQWindow(Napi::Env env, QObjectThreadSafeRef qwindow) = 0;
97
98 virtual void *tryCastWithTypeIdObject(const void *matchTypeIdObject) = 0;
99
100protected:
102};
103
105{
106 std::string name;
109};
110
112{
113public:
114 virtual ~QAbilityEngine();
115
116 virtual QAbilityInfo readAbilityInfo(const QNapi::Object &ability) const = 0;
117
118protected:
120};
121
122class JsState;
123
125{
126public:
127 virtual ~AppFunctions();
128
130 QNapi::Object baseQAbility, QObjectThreadSafeRef qwindow,
131 QNapi::Object optStartOptions,
132 std::function<void(JsState &, std::shared_ptr<QAbilityPeer>)> startupNotifyFunc) = 0;
133
134 virtual void startAppProcess(
135 QNapi::Object baseQAbility, const std::string &processId, QNapi::Object want,
136 QNapi::Object optStartOptions) = 0;
137
138 virtual void startAppProcess(
139 QNapi::Object baseQAbility, const std::string &processId, QNapi::Object want,
140 QNapi::Object optStartOptions, std::function<void(JsState &)> continueFunc) = 0;
141
142 virtual void startNoUiChildProcess(JsState &jsState, const std::string &libraryName, const std::vector<std::string> &args) = 0;
143
144 virtual void tagWidgetOrWindowAsFloatWindow(QObject *widgetOrWindow, bool floatWindowEnabled) = 0;
145};
146
152
153class JsState : public QOhosJsState
154{
155public:
156 JsState(const JsState &) = delete;
157 JsState &operator=(const JsState &) = delete;
158
160
162
163 virtual QNapi::Object appLaunchWant() = 0;
165
166 virtual std::shared_ptr<QAbilityPeer> defaultQAbilityPeer() = 0;
167 virtual std::shared_ptr<QAbilityPeer> tryGetQAbilityPeerByInstanceId(const std::string &instanceId) = 0;
168 virtual std::shared_ptr<QAbilityPeer> tryGetQAbilityPeerByInstance(QNapi::Object qAbility) = 0;
169 virtual std::shared_ptr<QAbilityPeer> tryGetQAbilityPeerByQWindow(QObjectThreadSafeRef qwindow) = 0;
170
171 virtual void visitEachQAbilityPeer(const std::function<void(std::shared_ptr<QAbilityPeer>)> &visitor) = 0;
172
174 std::shared_ptr<QAbilityPeer> baseQAbilityPeer, QObjectThreadSafeRef qwindow,
175 QNapi::Object optStartOptions,
176 std::function<void(JsState &, std::shared_ptr<QAbilityPeer>)> startupNotifyFunc) = 0;
177
178 virtual void startAppProcess(
179 const std::string &processId, QNapi::Object requestWant,
180 QNapi::Object optStartOptions = {}) = 0;
181
182 virtual void startAppProcess(
183 const std::string &processId, QNapi::Object requestWant,
184 QNapi::Object optStartOptions, std::function<void(JsState &)> continueFunc) = 0;
185
186 virtual void addNewWantConsumer(QOhosConsumer<JsState &, QNapi::Object, QNapi::Object> wantConsumer) = 0;
187
188 virtual void startNoUiChildProcess(const std::string &libraryName, const std::vector<std::string> &args) = 0;
189
190 virtual QtRunMode qtRunMode() = 0;
191
192 template<typename T>
194
195 template<typename T>
197
198protected:
200
201private:
203 const std::type_info &objectTypeInfo, QOhosSupplier<std::shared_ptr<void>> objectFactory) = 0;
204
205 virtual QNapi::Symbol getJsSymbolForType(const std::type_info &typeInfo) = 0;
206};
207
209
211{
212public:
213 static std::shared_ptr<QUiAbilityPeer> tryCastFromQAbilityPeerOrNull(std::shared_ptr<QAbilityPeer> qAbilityPeer);
214
215 ~QUiAbilityPeer() override;
216
217 virtual QNapi::Object launchParam() = 0;
218
219 virtual QNapi::Object windowStage() = 0;
220 virtual QNapi::Object window() = 0;
221
223 std::function<void(JsState &, QNapi::Object, QOhosConsumer<JsState &, QOhosAbilityOnContinueResult>)> requestsHandler) = 0;
224
225protected:
227
228private:
229 static const nullptr_t typeIdObject;
230
231 void *tryCastWithTypeIdObject(const void *matchTypeIdObject) final;
232};
233
235{
236public:
238
239 JsState &jsState() const;
240};
241
242// this function should be called once from JS thread at some point during startup
246
247// this function should be called from JS thread for each UIAbility when it's ready
248void addJsQAbilityPeer(std::shared_ptr<QAbilityPeer> qAbilityPeer);
249
250// this function should be called from JS thread when WindowStage of UIAbility is destroyed
251void removeMatchingJsQAbilityPeer(QNapi::Object qAbility);
252
253// this function should be called from JS thread when new Want object is received
254void dispatchNewWant(QNapi::Object want, QNapi::Object launchParam);
255
256// invokes the task inside the JS thread, can be called from Qt thread at any time
257void invokeInJsThread(std::function<void(JsState &)> task);
258
259// Invokes the task inside the JS thread and blocks the caller's thread until
260// the "continue" function (std::function<void()>, passed as second argument to
261// the task) is called on the JS side.
262// It can be called from the Qt thread at any time, calling it from the JS
263// thread is illegal.
265 std::function<void(JsState &, QOhosTaskPromise<>)> &&task,
266 std::string callerContextName = {});
267
268// Runs the task inside the JS thread and waits until its execution ends.
269// When called from the JS thread, it calls the task directly. For other threads
270// it behaves like a wrapper around the invokeInJsThreadAndWaitForContinue().
272 const std::function<void(JsState &)> &task,
273 std::string callerContextName = {});
274
275template<typename Func>
276auto evalInJsThread(Func &&func, std::string callerContextName = {}) -> decltype(func(std::declval<JsState &>()));
277
278template<typename T>
279T evalInJsThreadWithConsumer(std::function<void(QtOhos::JsState &, std::function<void(T)>)> evalFunc);
280
281template<typename T>
283 std::function<void(QtOhos::JsState &, QOhosTaskPromise<T>)> evalFunc,
284 std::string callerContextName = {});
285
286// Invokes the task inside the Qt thread and blocks the caller's thread until either:
287// - the "continue" function (std::function<void()>, passed as second argument to
288// the task) is called on the Qt side and returns,
289// - timeout occurs (we don't receive response from the finished task within the
290// specified time limit),
291// - deadlock is detected (both Qt and JS thread use synchronous calls at the same
292// time).
293// It can be called from the JS thread. Calling it from the Qt thread is illegal.
294//
295// Returns true iff the caller receives confirmation about finishing the task within
296// the time limit.
297//
298// Note:
299// If the function returns false then:
300// - either the task wasn't started at all (timeout or deadlock)
301// - or the task was still running (and may be still running!) in the Qt thread
302// after reaching the timeout.
304 std::function<void(std::function<void()>)> &&task,
305 std::chrono::nanoseconds timeout);
306
307template<typename T>
309{
310 auto *objectPtr = reinterpret_cast<T *>(
311 getAttachedObjectWithLazyCreate(typeid(T), &std::make_shared<T>));
312 return *objectPtr;
313}
314
315template<typename T>
317{
318 return getJsSymbolForType(typeid(T));
319}
320
321template<typename Func>
322auto evalInJsThread(Func &&func, std::string callerContextName) -> decltype(func(std::declval<JsState &>()))
323{
324 Q_UNUSED(callerContextName);
325 return QOhosJsThreadGateway::eval(
326 [&func](QOhosJsState &jsState) {
327 return func(static_cast<JsState &>(jsState));
328 });
329}
330
331template<typename T>
332T evalInJsThreadWithConsumer(std::function<void(QtOhos::JsState &, std::function<void(T)>)> evalFunc)
333{
334 return QOhosJsThreadGateway::evalWithConsumer<T>(
335 [evalFunc = std::move(evalFunc)](QOhosJsState &jsState, std::function<void(T)> consumer) {
336 evalFunc(static_cast<JsState &>(jsState), std::move(consumer));
337 });
338}
339
340template<typename T>
342 std::function<void(QtOhos::JsState &, QOhosTaskPromise<T>)> evalFunc,
343 std::string callerContextName)
344{
345 return evalInJsThreadWithConsumer<T>(
346 [evalFunc = std::move(evalFunc), callerContextName](QtOhos::JsState &jsState, std::function<void(T)> consumer) {
347 evalFunc(jsState, QOhosTaskPromise<T>(std::move(consumer), {}, callerContextName));
348 });
349}
350
351}
352
353template<typename T, typename Func>
354std::enable_if_t<
355 qohosplugincore_h_detail::isStdOptional<QOhosInvokeResult<Func, T>>,
356 QOhosInvokeResult<Func, T>>
357qAndThen(const std::optional<T> &opt, Func &&func)
358{
359 return opt.has_value() ? func(*opt) : QOhosInvokeResult<Func, T>();
360}
361
362template<typename T, typename Func>
363std::optional<std::remove_cv_t<QOhosInvokeResult<Func, T>>> qTransform(const std::optional<T> &opt, Func &&func)
364{
365 using TransformedT = std::remove_cv_t<QOhosInvokeResult<Func, T>>;
366 return opt.has_value()
367 ? std::optional<TransformedT>(func(*opt))
368 : std::optional<TransformedT>();
369}
370
371template<typename T>
372std::optional<T> makeQOhosOptional(const T &value)
373{
374 return std::optional<T>(value);
375}
376
377inline std::nullopt_t makeEmptyQOhosOptional()
378{
379 return std::nullopt;
380}
381
382QT_END_NAMESPACE
383
384#endif
QNapi::Object jsObject()
Definition window.cpp:77
JsWindowRef(JsWindowRef &&)=delete
bool isFocused() const
Definition window.cpp:65
JsWindowRef(const JsWindowRef &)=delete
JsWindowRef & operator=(JsWindowRef &&)=delete
JsWindowRef(JsWindowId windowId, QNapi::Object jsWindow)
Definition window.cpp:46
Result eval(const std::string &expr, const std::vector< QNapi::ValueWrapper > &exprArgs={}) const
Definition window.h:62
bool isWindowShown() const
Definition window.cpp:52
JsWindowId id() const
Definition window.cpp:72
JsWindowRef & operator=(const JsWindowRef &)=delete
QNapi::Promise evalToPromiseOrRejectOnThrow(const std::string &expr, const std::vector< QNapi::ValueWrapper > &exprArgs={}) const
Definition window.h:67
virtual void startQAbilityInstance(QNapi::Object baseQAbility, QObjectThreadSafeRef qwindow, QNapi::Object optStartOptions, std::function< void(JsState &, std::shared_ptr< QAbilityPeer >)> startupNotifyFunc)=0
virtual void tagWidgetOrWindowAsFloatWindow(QObject *widgetOrWindow, bool floatWindowEnabled)=0
virtual void startAppProcess(QNapi::Object baseQAbility, const std::string &processId, QNapi::Object want, QNapi::Object optStartOptions)=0
virtual void startAppProcess(QNapi::Object baseQAbility, const std::string &processId, QNapi::Object want, QNapi::Object optStartOptions, std::function< void(JsState &)> continueFunc)=0
virtual void startNoUiChildProcess(JsState &jsState, const std::string &libraryName, const std::vector< std::string > &args)=0
JsState & jsState() const
JsState & operator=(const JsState &)=delete
virtual void addNewWantConsumer(QOhosConsumer< JsState &, QNapi::Object, QNapi::Object > wantConsumer)=0
virtual QtRunMode qtRunMode()=0
JsState(const JsState &)=delete
virtual std::shared_ptr< QAbilityPeer > tryGetQAbilityPeerByInstanceId(const std::string &instanceId)=0
virtual void * getAttachedObjectWithLazyCreate(const std::type_info &objectTypeInfo, QOhosSupplier< std::shared_ptr< void > > objectFactory)=0
virtual void startAppProcess(const std::string &processId, QNapi::Object requestWant, QNapi::Object optStartOptions, std::function< void(JsState &)> continueFunc)=0
virtual void startNoUiChildProcess(const std::string &libraryName, const std::vector< std::string > &args)=0
~JsState() override
virtual std::shared_ptr< QAbilityPeer > tryGetQAbilityPeerByQWindow(QObjectThreadSafeRef qwindow)=0
virtual void visitEachQAbilityPeer(const std::function< void(std::shared_ptr< QAbilityPeer >)> &visitor)=0
QNapi::Symbol getJsSymbolForType()
virtual std::shared_ptr< QAbilityPeer > defaultQAbilityPeer()=0
virtual std::shared_ptr< QAbilityPeer > tryGetQAbilityPeerByInstance(QNapi::Object qAbility)=0
virtual QOhosOptional< QNapi::Object > optAppLaunchParam()=0
virtual QNapi::Object appLaunchWant()=0
std::enable_if_t< std::is_default_constructible< T >::value, T > & getAttachedObjectWithLazyCreate()
virtual QNapi::Symbol getJsSymbolForType(const std::type_info &typeInfo)=0
virtual void startNewQAbilityInstance(std::shared_ptr< QAbilityPeer > baseQAbilityPeer, QObjectThreadSafeRef qwindow, QNapi::Object optStartOptions, std::function< void(JsState &, std::shared_ptr< QAbilityPeer >)> startupNotifyFunc)=0
virtual void startAppProcess(const std::string &processId, QNapi::Object requestWant, QNapi::Object optStartOptions={})=0
static void tagWindowAsClosing(QNapi::Object jsWindow, const char *logContext)
static bool isWindowClosing(QNapi::Object jsWindow)
virtual QAbilityInfo readAbilityInfo(const QNapi::Object &ability) const =0
virtual QOhosOptional< QNapi::Promise > qWindowDestroyPromise()=0
virtual std::string instanceId()=0
virtual QObjectThreadSafeRef qWindowRef()=0
virtual QNapi::Object launchWant()=0
virtual bool isTerminating()=0
virtual void setQWindow(Napi::Env env, QObjectThreadSafeRef qwindow)=0
virtual void * tryCastWithTypeIdObject(const void *matchTypeIdObject)=0
virtual std::shared_ptr< std::atomic_bool > destroyAllowedFlag()=0
virtual QNapi::Object qAbility()=0
virtual QNapi::Object uiContext()=0
virtual void forceResolveQWindowDestroyPromiseIfPresent(Napi::Env env)=0
virtual void setOnContinueRequestsHandler(std::function< void(JsState &, QNapi::Object, QOhosConsumer< JsState &, QOhosAbilityOnContinueResult >)> requestsHandler)=0
virtual QNapi::Object launchParam()=0
virtual QNapi::Object windowStage()=0
void * tryCastWithTypeIdObject(const void *matchTypeIdObject) final
static std::shared_ptr< QUiAbilityPeer > tryCastFromQAbilityPeerOrNull(std::shared_ptr< QAbilityPeer > qAbilityPeer)
~QUiAbilityPeer() override
virtual QNapi::Object window()=0
QOhosOptional< WindowProperties > tryGetWindowProperties(JsWindowId jsWindowId)
Definition window.cpp:27
Combined button and popup list for selecting options.
void invokeInJsThread(std::function< void(JsState &)> task)
void dispatchNewWant(QNapi::Object want, QNapi::Object launchParam)
void removeMatchingJsQAbilityPeer(QNapi::Object qAbility)
T evalInJsThreadWithPromise(std::function< void(QtOhos::JsState &, QOhosTaskPromise< T >)> evalFunc, std::string callerContextName={})
T evalInJsThreadWithConsumer(std::function< void(QtOhos::JsState &, std::function< void(T)>)> evalFunc)
void runInJsThreadAndWait(const std::function< void(JsState &)> &task, std::string callerContextName={})
void initJsThreadState(napi_env env, std::map< std::string, QNapi::Reference< QNapi::Function > > &&jsModulesFactories, std::shared_ptr< AppFunctions > appFunctions, QtRunMode qtRunMode)
Q_REQUIRED_RESULT bool tryInvokeInQtThreadAndTryWaitForContinue(std::function< void(std::function< void()>)> &&task, std::chrono::nanoseconds timeout)
void invokeInJsThreadAndWaitForContinue(std::function< void(JsState &, QOhosTaskPromise<>)> &&task, std::string callerContextName={})
auto evalInJsThread(Func &&func, std::string callerContextName={}) -> decltype(func(std::declval< JsState & >()))
enums::ohos::app::ability::AbilityConstant::OnContinueResult QOhosAbilityOnContinueResult
void addJsQAbilityPeer(std::shared_ptr< QAbilityPeer > qAbilityPeer)
constexpr bool hasEqualityComparator
QT_END_NAMESPACE Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::kit::ShareKit::systemShare::SelectionMode))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::inputMethod::TextInputType))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::kit::ShareKit::systemShare::ShareAbilityType))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::inputMethod::RequestKeyboardReason))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::window::AvoidAreaType))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::bundle::bundleManager::SupportWindowMode))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::multimodalInput::pointer::PointerStyle))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::app::ability::AbilityConstant::WindowMode))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::app::ability::contextConstant::ProcessMode))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::display::DisplaySourceMode))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::window::AnimationType))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::kit::ShareKit::systemShare::SharePreviewMode))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::file::picker::DocumentSelectMode))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::app::ability::contextConstant::StartupVisibility))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::app::ability::wantConstant::Flags))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::display::Orientation))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::window::RectChangeReason))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::window::ModalityType))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::inputMethod::Direction))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::window::WindowStatusType))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::app::ability::AbilityConstant::OnContinueResult))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::app::ability::ConfigurationConstant::ColorMode))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::window::WindowEventType))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::window::MaximizePresentation))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::inputMethod::EnterKeyType))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::app::ability::AbilityConstant::LaunchReason))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::app::ability::AbilityConstant::ContinueState))
Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::ohos::notificationManager::ContentType))
std::optional< std::remove_cv_t< QOhosInvokeResult< Func, T > > > qTransform(const std::optional< T > &opt, Func &&func)
std::nullopt_t makeEmptyQOhosOptional()
std::optional< T > QOhosOptional
std::optional< T > makeQOhosOptional(const T &value)
QOhosOptional< QOhosDisplayInfo::JsDisplayId > displayId
Definition window.h:28
bool isDisplayMainOrExtended() const
QSizeF physicalSize() const
QtOhos::enums::ohos::display::Orientation JsDisplayOrientation
QOhosOptional< QPoint > topLeftOffsetPixels
QRect displayGeometryPixels() const
static QOhosOptional< QNapi::Object > tryGetDisplayById(QtOhos::JsState &jsState, QOhosDisplayInfo::JsDisplayId displayId)
static QOhosDisplayInfo makeFromOhosDisplayObject(QtOhos::JsState &jsState, QNapi::Object displayObject)
QOhosOptional< JsDisplayOrientation > orientation
QtOhos::enums::ohos::display::DisplaySourceMode DisplaySourceMode
QOhosOptional< DisplaySourceMode > sourceMode
bool shouldIgnoreDisplay() const
enums::kit::ShareKit::systemShare::SelectionMode Enum
Definition qohosenums.h:394
static constexpr std::array< std::pair< Enum, const char * >, 2 > enumeratorsNames
Definition qohosenums.h:396
enums::kit::ShareKit::systemShare::ShareAbilityType Enum
Definition qohosenums.h:405
static constexpr std::array< std::pair< Enum, const char * >, 5 > enumeratorsNames
Definition qohosenums.h:407
static constexpr std::array< std::pair< Enum, const char * >, 2 > enumeratorsNames
Definition qohosenums.h:421
enums::kit::ShareKit::systemShare::SharePreviewMode Enum
Definition qohosenums.h:419
enums::ohos::app::ability::AbilityConstant::ContinueState Enum
Definition qohosenums.h:430
static constexpr std::array< std::pair< Enum, const char * >, 2 > enumeratorsNames
Definition qohosenums.h:432
enums::ohos::app::ability::AbilityConstant::LaunchReason Enum
Definition qohosenums.h:441
static constexpr std::array< std::pair< Enum, const char * >, 10 > enumeratorsNames
Definition qohosenums.h:443
static constexpr std::array< std::pair< Enum, const char * >, 3 > enumeratorsNames
Definition qohosenums.h:462
enums::ohos::app::ability::AbilityConstant::OnContinueResult Enum
Definition qohosenums.h:460
enums::ohos::app::ability::AbilityConstant::WindowMode Enum
Definition qohosenums.h:472
static constexpr std::array< std::pair< Enum, const char * >, 3 > enumeratorsNames
Definition qohosenums.h:474
static constexpr std::array< std::pair< Enum, const char * >, 3 > enumeratorsNames
Definition qohosenums.h:486
enums::ohos::app::ability::ConfigurationConstant::ColorMode Enum
Definition qohosenums.h:484
static constexpr std::array< std::pair< Enum, const char * >, 3 > enumeratorsNames
Definition qohosenums.h:498
enums::ohos::app::ability::contextConstant::ProcessMode Enum
Definition qohosenums.h:496
enums::ohos::app::ability::contextConstant::StartupVisibility Enum
Definition qohosenums.h:508
static constexpr std::array< std::pair< Enum, const char * >, 2 > enumeratorsNames
Definition qohosenums.h:510
static constexpr std::array< std::pair< Enum, const char * >, 6 > enumeratorsNames
Definition qohosenums.h:521
enums::ohos::app::ability::wantConstant::Flags Enum
Definition qohosenums.h:519
static constexpr std::array< std::pair< Enum, const char * >, 3 > enumeratorsNames
Definition qohosenums.h:536
enums::ohos::bundle::bundleManager::SupportWindowMode Enum
Definition qohosenums.h:534
static constexpr std::array< std::pair< Enum, const char * >, 5 > enumeratorsNames
Definition qohosenums.h:548
static constexpr std::array< std::pair< Enum, const char * >, 4 > enumeratorsNames
Definition qohosenums.h:562
static constexpr std::array< std::pair< Enum, const char * >, 3 > enumeratorsNames
Definition qohosenums.h:575
enums::ohos::file::picker::DocumentSelectMode Enum
Definition qohosenums.h:573
static constexpr std::array< std::pair< Enum, const char * >, 4 > enumeratorsNames
Definition qohosenums.h:587
static constexpr std::array< std::pair< Enum, const char * >, 9 > enumeratorsNames
Definition qohosenums.h:600
static constexpr std::array< std::pair< Enum, const char * >, 4 > enumeratorsNames
Definition qohosenums.h:618
enums::ohos::inputMethod::RequestKeyboardReason Enum
Definition qohosenums.h:616
static constexpr std::array< std::pair< Enum, const char * >, 15 > enumeratorsNames
Definition qohosenums.h:631
enums::ohos::multimodalInput::pointer::PointerStyle Enum
Definition qohosenums.h:653
static constexpr std::array< std::pair< Enum, const char * >, 53 > enumeratorsNames
Definition qohosenums.h:655
static constexpr std::array< std::pair< Enum, const char * >, 5 > enumeratorsNames
Definition qohosenums.h:733
static constexpr std::array< std::pair< Enum, const char * >, 7 > enumeratorsNames
Definition qohosenums.h:747
enums::ohos::notificationManager::ContentType Enum
Definition qohosenums.h:715
static constexpr std::array< std::pair< Enum, const char * >, 7 > enumeratorsNames
Definition qohosenums.h:717
static constexpr std::array< std::pair< Enum, const char * >, 1 > enumeratorsNames
Definition qohosenums.h:763
static constexpr std::array< std::pair< Enum, const char * >, 5 > enumeratorsNames
Definition qohosenums.h:773
static constexpr std::array< std::pair< Enum, const char * >, 4 > enumeratorsNames
Definition qohosenums.h:787
static constexpr std::array< std::pair< Enum, const char * >, 2 > enumeratorsNames
Definition qohosenums.h:800
static constexpr std::array< std::pair< Enum, const char * >, 7 > enumeratorsNames
Definition qohosenums.h:811
static constexpr std::array< std::pair< Enum, const char * >, 5 > enumeratorsNames
Definition qohosenums.h:827
static constexpr std::array< std::pair< Enum, const char * >, 6 > enumeratorsNames
Definition qohosenums.h:841