MCPcopy Create free account
hub / github.com/defold/defold / SetOneOf

Method SetOneOf

engine/ddf/src/ddf/ddf_message.cpp:240–253  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

238 }
239
240 void Message::SetOneOf(const Descriptor* desc, const FieldDescriptor* field)
241 {
242 // Note: The -1 is because we offset it by 1 in ddfc.py
243 assert(field->m_OneOfIndex > 0);
244 int32_t oneof_index_from_zero = field->m_OneOfIndex-1;
245 assert(oneof_index_from_zero < desc->m_OneOfDataOffsetsCount);
246
247 if (!m_DryRun)
248 {
249 uint32_t data_offset = desc->m_OneOfDataOffsets[oneof_index_from_zero];
250 uint8_t* oneof_index = (uint8_t*) GetBuffer(data_offset);
251 *oneof_index = field->m_Number;
252 }
253 }
254
255 void Message::SetScalar(const FieldDescriptor* field, const void* buffer, int buffer_size)
256 {

Callers 1

DoLoadMessageFunction · 0.80

Calls 2

assertFunction · 0.50
GetBufferFunction · 0.50

Tested by

no test coverage detected