mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
7c93f5b001
Summary: This diff moves the code of TurboModule Core from ReactCommon/turbomodule to ReactCommon/react/nativemodule For iOS: Pod spec name stays as "ReactCommon/turbomodule/..." for now, only the source/header location is affected. The target will be renamed/restructured closer to TurboModule rollout. changelog: [internal] Internal Reviewed By: RSNara Differential Revision: D23362253 fbshipit-source-id: c2c8207578e50821c7573255d4319b9051b58a37
45 lines
1.4 KiB
C++
45 lines
1.4 KiB
C++
/*
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <memory>
|
|
|
|
#include "NativeSampleTurboCxxModuleSpecJSI.h"
|
|
|
|
namespace facebook {
|
|
namespace react {
|
|
|
|
/**
|
|
* A sample implementation of the C++ spec. In practice, this class can just
|
|
* extend jsi::HostObject directly, but using the spec provides build-time
|
|
* type-safety.
|
|
*/
|
|
class SampleTurboCxxModule : public NativeSampleTurboCxxModuleSpecJSI {
|
|
public:
|
|
SampleTurboCxxModule(std::shared_ptr<CallInvoker> jsInvoker);
|
|
|
|
void voidFunc(jsi::Runtime &rt) override;
|
|
bool getBool(jsi::Runtime &rt, bool arg) override;
|
|
double getNumber(jsi::Runtime &rt, double arg) override;
|
|
jsi::String getString(jsi::Runtime &rt, const jsi::String &arg) override;
|
|
jsi::Array getArray(jsi::Runtime &rt, const jsi::Array &arg) override;
|
|
jsi::Object getObject(jsi::Runtime &rt, const jsi::Object &arg) override;
|
|
jsi::Object getValue(
|
|
jsi::Runtime &rt,
|
|
double x,
|
|
const jsi::String &y,
|
|
const jsi::Object &z) override;
|
|
void getValueWithCallback(jsi::Runtime &rt, const jsi::Function &callback)
|
|
override;
|
|
jsi::Value getValueWithPromise(jsi::Runtime &rt, bool error) override;
|
|
jsi::Object getConstants(jsi::Runtime &rt) override;
|
|
};
|
|
|
|
} // namespace react
|
|
} // namespace facebook
|