MCPcopy Create free account
hub / github.com/RomanKubiak/ctrlr / copyXmlToBinary

Method copyXmlToBinary

Source/Plugin/CtrlrProcessor.cpp:459–471  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

457}
458
459void CtrlrProcessor::copyXmlToBinary (const XmlElement& xml, juce::MemoryBlock& destData)
460{
461 const String xmlString (xml.createDocument ("", true, false));
462 const int stringLength = (int)xmlString.getNumBytesAsUTF8();
463
464 destData.setSize ((size_t) stringLength + 10);
465
466 char* const d = static_cast<char*> (destData.getData());
467 *(uint32*) d = ByteOrder::swapIfBigEndian ((const uint32) magicXmlNumber);
468 *(uint32*) (d + 4) = ByteOrder::swapIfBigEndian ((const uint32) stringLength);
469
470 xmlString.copyToUTF8 (d + 8, stringLength + 1);
471}
472
473XmlElement* CtrlrProcessor::getXmlFromBinary (const void* data, const int sizeInBytes)
474{

Callers

nothing calls this directly

Calls 6

swapIfBigEndianFunction · 0.85
createDocumentMethod · 0.80
getNumBytesAsUTF8Method · 0.80
copyToUTF8Method · 0.80
setSizeMethod · 0.45
getDataMethod · 0.45

Tested by

no test coverage detected