Create Turbo Module spect for SoundManager

Summary: This diff creates the Turbo Module SoundManager to expose the method playTouchSound

Reviewed By: JoshuaGross

Differential Revision: D16543435

fbshipit-source-id: b83c679e3c3be9b19a84c470e4bc7cfd12792c11
This commit is contained in:
David Vacca 2019-08-01 19:42:24 -07:00 коммит произвёл Facebook Github Bot
Родитель 103ec2f770
Коммит a03a406ad7
3 изменённых файлов: 61 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,23 @@
/**
* 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.
*
* @flow
* @format
*/
'use strict';
import type {TurboModule} from '../../TurboModule/RCTExport';
import * as TurboModuleRegistry from '../../TurboModule/TurboModuleRegistry';
/**
* Native Module used for playing sounds in native platform.
*/
export interface Spec extends TurboModule {
+playTouchSound: () => void;
}
export default TurboModuleRegistry.getEnforcing<Spec>('SoundManager');

Просмотреть файл

@ -1682,6 +1682,26 @@ namespace facebook {
setMethodArgConversionSelector(@"share", 0, @"JS_NativeShareModule_SpecShareContent:");
}
} // namespace react
} // namespace facebook
namespace facebook {
namespace react {
static facebook::jsi::Value __hostFunction_NativeSoundManagerSpecJSI_playTouchSound(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "playTouchSound", @selector(playTouchSound), args, count);
}
NativeSoundManagerSpecJSI::NativeSoundManagerSpecJSI(id<RCTTurboModule> instance, std::shared_ptr<JSCallInvoker> jsInvoker)
: ObjCTurboModule("SoundManager", instance, jsInvoker) {
methodMap_["playTouchSound"] = MethodMetadata {0, __hostFunction_NativeSoundManagerSpecJSI_playTouchSound};
}
} // namespace react

Просмотреть файл

@ -1750,6 +1750,24 @@ namespace facebook {
};
} // namespace react
} // namespace facebook
@protocol NativeSoundManagerSpec <RCTBridgeModule, RCTTurboModule>
- (void)playTouchSound;
@end
namespace facebook {
namespace react {
/**
* ObjC++ class for module 'SoundManager'
*/
class JSI_EXPORT NativeSoundManagerSpecJSI : public ObjCTurboModule {
public:
NativeSoundManagerSpecJSI(id<RCTTurboModule> instance, std::shared_ptr<JSCallInvoker> jsInvoker);
};
} // namespace react
} // namespace facebook
namespace JS {
namespace NativeSourceCode {