4#ifndef QOHOSJSWINDOWREGISTRY_H
5#define QOHOSJSWINDOWREGISTRY_H
7#include <QtCore/qglobal.h>
11#include <qarkui/window.h>
12#include <qohosplugincore.h>
36 std::map<QArkUi::JsWindowId, std::shared_ptr<QArkUi::JsWindowRef>> m_windowRefs;
QOhosJsWindowRegistry & operator=(const QOhosJsWindowRegistry &)=delete
std::shared_ptr< QArkUi::JsWindowRef > tryFindJsWindowById(QArkUi::JsWindowId jsWinId) const
std::shared_ptr< QArkUi::JsWindowRef > tryFindJsWindowByQWindowRef(QtOhos::QObjectThreadSafeRef qwindow) const
std::vector< QArkUi::JsWindowId > queryByPredicate(QtOhos::JsState &jsState, const std::function< bool(QtOhos::JsState &, const QArkUi::JsWindowRef &)> &predicate)
QOhosJsWindowRegistry & operator=(QOhosJsWindowRegistry &&)=delete
std::shared_ptr< void > registerJsWindow(std::shared_ptr< QArkUi::JsWindowRef > jsWindowRef)
QOhosJsWindowRegistry(QOhosJsWindowRegistry &&)=delete
QOhosJsWindowRegistry(const QOhosJsWindowRegistry &)=delete
JsState & jsState() const
virtual ~QAbilityEngine()
void invokeInSlaveThread(std::function< void(SlaveContext &)> &&task)
void runInSlaveThreadAndWaitForContinue(std::function< void(SlaveContext &, QOhosTaskPromise<>)> &&task, const std::string &callerContextName=std::string())
static std::shared_ptr< QOhosMtBlockingCallsGateway< SlaveContext > > makeInstance(QOhosConsumer< std::function< void()> > masterThreadTasksExecutor, QOhosConsumer< std::function< void(SlaveContext &)> > slaveThreadTasksExecutor)
void invokeInMasterThread(std::function< void()> &&task)
void * tryCastWithTypeIdObject(const void *matchTypeIdObject) final
static std::shared_ptr< QUiAbilityPeer > tryCastFromQAbilityPeerOrNull(std::shared_ptr< QAbilityPeer > qAbilityPeer)
~QUiAbilityPeer() override
Combined button and popup list for selecting options.
std::string const char * mapBoolToTrueFalseStr(bool value)
void invokeInJsThread(std::function< void(JsState &)> task)
void dispatchNewWant(QNapi::Object want, QNapi::Object launchParam)
void removeMatchingJsQAbilityPeer(QNapi::Object qAbility)
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={})
enums::ohos::app::ability::AbilityConstant::OnContinueResult QOhosAbilityOnContinueResult
void addJsQAbilityPeer(std::shared_ptr< QAbilityPeer > qAbilityPeer)