michangarrito/apps/backend/node_modules/react-native/React/CxxModule/DispatchMessageQueueThread.h
rckrdmrd 48dea7a5d0 feat: Initial commit - michangarrito
Marketplace móvil para negocios locales mexicanos.

Estructura inicial:
- apps/backend (NestJS API)
- apps/frontend (React Web)
- apps/mobile (Expo/React Native)
- apps/mcp-server (Claude MCP Server)
- apps/whatsapp-service (WhatsApp Business API)
- database/ (PostgreSQL DDL)
- docs/ (Documentación)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 04:41:02 -06:00

51 lines
1.4 KiB
C++

/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#include <glog/logging.h>
#include <React/RCTLog.h>
#include <cxxreact/MessageQueueThread.h>
#ifndef RCT_REMOVE_LEGACY_ARCH
namespace facebook::react {
// RCTNativeModule arranges for native methods to be invoked on a queue which
// is not the JS thread. C++ modules don't use RCTNativeModule, so this little
// adapter does the work.
class [[deprecated("This API will be removed along with the legacy architecture.")]] DispatchMessageQueueThread
: public MessageQueueThread {
public:
DispatchMessageQueueThread(RCTModuleData *moduleData) : moduleData_(moduleData) {}
void runOnQueue(std::function<void()> &&func) override
{
dispatch_queue_t queue = moduleData_.methodQueue;
dispatch_block_t block = [func = std::move(func)] { func(); };
RCTAssert(block != nullptr, @"Invalid block generated in call to %@", moduleData_);
if (queue && block) {
dispatch_async(queue, block);
}
}
void runOnQueueSync(std::function<void()> &&__unused func) override
{
LOG(FATAL) << "Unsupported operation";
}
void quitSynchronous() override
{
LOG(FATAL) << "Unsupported operation";
}
private:
RCTModuleData *moduleData_;
};
} // namespace facebook::react
#endif // RCT_REMOVE_LEGACY_ARCH