void DemoJuceFilter::getStateInformation (MemoryBlock& destData) { XmlElement xmlState (T("BITMUNGLER")); xmlState.setAttribute (T("pluginVersion"), 1); xmlState.setAttribute (T("xorBits"), serializeArray (xorBits)); xmlState.setAttribute (T("xorWith"), xorWith); xmlState.setAttribute (T("xorProcessing"), xorProcessing); xmlState.setAttribute (T("andBits"), serializeArray (andBits)); xmlState.setAttribute (T("andWith"), andWith); xmlState.setAttribute (T("andProcessing"), andProcessing); xmlState.setAttribute (T("clearBits"), serializeArray (clearBits)); xmlState.setAttribute (T("clearProcessing"), clearProcessing); xmlState.setAttribute (T("setBits"), serializeArray (setBits)); xmlState.setAttribute (T("setProcessing"), setProcessing); Logger::writeToLog (xmlState.createDocument (String::empty)); copyXmlToBinary (xmlState, destData); }
ustring DataValue::serialize(DataType type, void *value) { switch(type) { case data_int: case data_flags: case data_combo: case data_comboEx: return int_to_str(*(int*)value); case data_stock: case data_element: return ustring("\"") + *(ustring*)value + "\""; case data_real: return double_to_str(*(double *)value); case data_data: if(((TData*)value)->type == data_null) return ustring(""); return ustring(dataNames[((TData*)value)->type]) + "(" + ((TData*)value)->toStr() + ")"; case data_str: case data_list: return serializeStrList(value); case data_color: return ((TypeColor*)value)->to_string(); case data_pixbuf: return serializePixbuf(value); case data_array: return serializeArray(value); case data_font: return serializeFont(value); default: return ustring(); } }
void serialize(Stream& stream,TableSegment& tableSegment) { serializeVarUInt32(stream,tableSegment.tableIndex); serialize(stream,tableSegment.baseOffset); serializeArray(stream,tableSegment.indices,[](Stream& stream,Uptr& functionIndex){serializeVarUInt32(stream,functionIndex);}); }