Files
react-native/ReactCommon/cxxreact/ReactMarker.cpp
T
Emily Janzer 5a1ca38305 Add ReactMarker::logTaggedMarkerWithInstanceKey
Summary:
Adding another method to ReactMarker to log a marker with both a tag and an instanceKey. The instanceKey is used to attach the event to the correct marker instance - this is used already in Java, but not in C++ yet.

The way that ReactMarker is currently set up makes this change a little more complex/confusing. For some reason I'm not totally clear on, we're using C-style exports with some platforms-specific ifdefs in ReactMarker.h (even though the impl is .cpp?). And we swap out the implementation for `logTaggedMarker` at runtime in platform-specific code (JReactMarker and RCTCxxBridge).

In this diff, I just add a new function alongside `logTaggedMarker`, `logTaggedMarkerWithInstanceKey`. I did it this way because I figured modifying `logTaggedMarker` to add an argument would be a breaking change.

Reviewed By: PeteTheHeat

Differential Revision: D23831533

fbshipit-source-id: f5b3eba1f43a80f7723fdb64cfc0a792548db2ba
2020-10-01 14:16:32 -07:00

33 lines
716 B
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.
*/
#include "ReactMarker.h"
namespace facebook {
namespace react {
namespace ReactMarker {
#if __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wglobal-constructors"
#endif
LogTaggedMarker logTaggedMarker = nullptr;
LogTaggedMarkerWithInstanceKey logTaggedMarkerWithInstanceKey = nullptr;
#if __clang__
#pragma clang diagnostic pop
#endif
void logMarker(const ReactMarkerId markerId) {
logTaggedMarker(markerId, nullptr);
}
} // namespace ReactMarker
} // namespace react
} // namespace facebook