History

Fixes for code review

ksuprynowicz committed 4 years ago

Commit 586bd7f1 parent e9bfdd416 files · +142 −117Browse files

Showing the changes to libraries/script-engine/src/ScriptManager.cpp (1 of 16 files). Show all

Unified · Split

libraries/script-engine/src/ScriptManager.cpp+15−23
@@ -91,6 +91,21 @@ Q_DECLARE_METATYPE(ScriptValue); · 90 unmodified lines
91static ScriptManager::StaticInitializerNode* rootInitializer = nullptr;91static ScriptManager::StaticInitializerNode* rootInitializer = nullptr;
92static ScriptManager::StaticTypesInitializerNode* rootTypesInitializer = nullptr;92static ScriptManager::StaticTypesInitializerNode* rootTypesInitializer = nullptr;
93 93
94
95using ScriptableResourceRawPtr = ScriptableResource*;
96ScriptValue externalResourceBucketToScriptValue(ScriptEngine* engine, ExternalResource::Bucket const& in);
97bool externalResourceBucketFromScriptValue(const ScriptValue& object, ExternalResource::Bucket& out);
98static ScriptValue scriptableResourceToScriptValue(ScriptEngine* engine,
99 const ScriptableResourceRawPtr& resource);
100static bool scriptableResourceFromScriptValue(const ScriptValue& value, ScriptableResourceRawPtr& resource);
101STATIC_SCRIPT_TYPES_INITIALIZER((+[](ScriptManager* manager){
102 auto scriptEngine = manager->engine().get();
103
104 scriptRegisterMetaType<ExternalResource::Bucket, externalResourceBucketToScriptValue, externalResourceBucketFromScriptValue>(scriptEngine);
105
106 scriptRegisterMetaType<ScriptableResourceRawPtr, scriptableResourceToScriptValue, scriptableResourceFromScriptValue>(scriptEngine);
107}));
108
94void ScriptManager::registerNewStaticInitializer(StaticInitializerNode* dest) {109void ScriptManager::registerNewStaticInitializer(StaticInitializerNode* dest) {
95 // this function is assumed to be called on LoadLibrary, where we are explicitly operating in single-threaded mode110 // this function is assumed to be called on LoadLibrary, where we are explicitly operating in single-threaded mode
96 // Therefore there is no mutex or threadsafety here and the structure is assumed not to change after loading111 // Therefore there is no mutex or threadsafety here and the structure is assumed not to change after loading
@@ -634,30 +649,7 @@ void ScriptManager::initMetaTypes() { · 537 unmodified lines
634 return;649 return;
635 }650 }
636 _areMetaTypesInitialized = true;651 _areMetaTypesInitialized = true;
637 auto scriptEngine = _engine.get();
638 runStaticTypesInitializers(this);652 runStaticTypesInitializers(this);
639 registerMIDIMetaTypes(scriptEngine);
640 registerEventTypes(scriptEngine);
641 registerMenuItemProperties(scriptEngine);
642
643 scriptRegisterSequenceMetaType<QVector<QUuid>>(scriptEngine);
644 scriptRegisterSequenceMetaType<QVector<EntityItemID>>(scriptEngine);
645
646 scriptRegisterSequenceMetaType<QVector<glm::vec2>>(scriptEngine);
647 scriptRegisterSequenceMetaType<QVector<glm::quat>>(scriptEngine);
648 scriptRegisterSequenceMetaType<QVector<QString>>(scriptEngine);
649
650 scriptRegisterMetaType<AnimationDetails, animationDetailsToScriptValue, animationDetailsFromScriptValue>(scriptEngine);
651 scriptRegisterMetaType<WebSocketClass*, webSocketToScriptValue, webSocketFromScriptValue>(scriptEngine);
652 scriptRegisterMetaType<QWebSocketProtocol::CloseCode, qWSCloseCodeToScriptValue, qWSCloseCodeFromScriptValue>(scriptEngine);
653 scriptRegisterMetaType<WebSocketClass::ReadyState, wscReadyStateToScriptValue, wscReadyStateFromScriptValue>(scriptEngine);
654
655 scriptRegisterMetaType<ExternalResource::Bucket, externalResourceBucketToScriptValue, externalResourceBucketFromScriptValue>(scriptEngine);
656
657 scriptRegisterMetaType<ScriptableResourceRawPtr, scriptableResourceToScriptValue, scriptableResourceFromScriptValue>(scriptEngine);
658
659 scriptRegisterMetaType<MeshProxy*, meshToScriptValue, meshFromScriptValue>(scriptEngine);
660 scriptRegisterMetaType<MeshProxyList, meshesToScriptValue, meshesFromScriptValue>(scriptEngine);
661}653}
662 654
663void ScriptManager::init() {655void ScriptManager::init() {