MCPcopy Create free account
hub / github.com/Snapchat/Valdi / getObjectForId

Method getObjectForId

valdi/src/valdi/android/JavaValueDelegate.cpp:87–102  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

85}
86
87std::optional<JavaValue> JavaObjectStore::getObjectForId(uint32_t objectId, Valdi::ExceptionTracker& exceptionTracker) {
88 const auto& it = _objectById.find(objectId);
89 if (it == _objectById.end()) {
90 return std::nullopt;
91 }
92
93 auto weakRef = it->second.get();
94 auto result = getWeakReferenceValue(JavaEnv(), weakRef.get());
95
96 if (result == nullptr) {
97 _objectById.erase(it);
98 return std::nullopt;
99 }
100
101 return JavaValue::makeObject(std::move(result));
102}
103
104void JavaObjectStore::setObjectForId(uint32_t objectId,
105 const JavaValue& object,

Callers 1

unmarshallInterfaceMethod · 0.45

Calls 7

getWeakReferenceValueFunction · 0.85
makeObjectFunction · 0.85
endMethod · 0.65
getMethod · 0.65
JavaEnvClass · 0.50
findMethod · 0.45
eraseMethod · 0.45

Tested by

no test coverage detected