@@ -162,7 +162,7 @@ size_t MetaDataValue::getDataSize() const
162162
163163void MetaDataValue::allocSpace ()
164164{
165- m_data.malloc (m_size);
165+ m_data.calloc (m_size);
166166}
167167
168168MetaDataValue::MetaDataValue (const MetaDataValue& v)
@@ -239,6 +239,19 @@ void MetaDataValue::getValue(T* data) const
239239 memcpy (data, m_data.getData (), m_size);
240240}
241241
242+ // Using this version of the method in normal processor operation is not recommended
243+ // However it is useful for format-agnostic processes.
244+ template <>
245+ void MetaDataValue::getValue<void >(void * data) const
246+ {
247+ memcpy (data, m_data.getData (), m_size);
248+ }
249+
250+ const void * MetaDataValue::getRawValuePointer () const
251+ {
252+ return m_data.getData ();
253+ }
254+
242255template <typename T>
243256void MetaDataValue::setValue (const Array<T>& data)
244257{
@@ -331,7 +344,10 @@ void MetaDataEventObject::addEventMetaData(MetaDataDescriptor* desc)
331344 return ;
332345 }
333346 m_eventMetaDataDescriptorArray.add (desc);
334- m_totalSize += desc->getDataSize ();
347+ size_t size = desc->getDataSize ();
348+ m_totalSize += size;
349+ if (m_maxSize < size)
350+ m_maxSize = size;
335351}
336352
337353void MetaDataEventObject::addEventMetaData (const MetaDataDescriptor& desc)
@@ -343,7 +359,10 @@ void MetaDataEventObject::addEventMetaData(const MetaDataDescriptor& desc)
343359 return ;
344360 }
345361 m_eventMetaDataDescriptorArray.add (new MetaDataDescriptor (desc));
346- m_totalSize += desc.getDataSize ();
362+ size_t size = desc.getDataSize ();
363+ m_totalSize += size;
364+ if (m_maxSize < size)
365+ m_maxSize = size;
347366}
348367
349368size_t MetaDataEventObject::getTotalEventMetaDataSize () const
@@ -356,7 +375,7 @@ const MetaDataDescriptor* MetaDataEventObject::getEventMetaDataDescriptor(int in
356375 return m_eventMetaDataDescriptorArray[index];
357376}
358377
359- const int MetaDataEventObject::getEventMetaDataCount () const
378+ int MetaDataEventObject::getEventMetaDataCount () const
360379{
361380 return m_eventMetaDataDescriptorArray.size ();
362381}
@@ -373,14 +392,29 @@ int MetaDataEventObject::findEventMetaData(MetaDataDescriptor::MetaDataTypes typ
373392 return -1 ;
374393}
375394
395+ size_t MetaDataEventObject::getMaxEventMetaDataSize () const
396+ {
397+ return m_maxSize;
398+ }
399+
376400// MetaDataEvent
377401MetaDataEvent::MetaDataEvent () {}
378402
403+ int MetaDataEvent::getMetadataValueCount () const
404+ {
405+ return m_metaDataValues.size ();
406+ }
407+
408+ const MetaDataValue* MetaDataEvent::getMetaDataValue (int index) const
409+ {
410+ return m_metaDataValues[index];
411+ }
412+
379413void MetaDataEvent::serializeMetaData (void * dstBuffer) const
380414{
381415 int metaDataSize = m_metaDataValues.size ();
382416 char * buffer = static_cast <char *>(dstBuffer);
383- int ptrIndex = 0 ;
417+ size_t ptrIndex = 0 ;
384418
385419 for (int i = 0 ; i < metaDataSize; i++)
386420 {
@@ -489,6 +523,8 @@ template PLUGIN_API void MetaDataValue::getValue<uint64>(Array<uint64>&) const;
489523template PLUGIN_API void MetaDataValue::getValue<float >(Array<float >&) const ;
490524template PLUGIN_API void MetaDataValue::getValue<double >(Array<double >&) const ;
491525
526+ template PLUGIN_API void MetaDataValue::getValue<void >(void *) const ;
527+
492528// Helper function to compare identifier strings
493529bool compareIdentifierStrings (const String& identifier, const String& compareWith)
494530{
0 commit comments