StructuredData::DictionarySP BreakpointResolver::WrapOptionsDict( StructuredData::DictionarySP options_dict_sp) { if (!options_dict_sp || !options_dict_sp->IsValid()) return StructuredData::DictionarySP(); StructuredData::DictionarySP type_dict_sp(new StructuredData::Dictionary()); type_dict_sp->AddStringItem(GetSerializationSubclassKey(), GetResolverName()); type_dict_sp->AddItem(GetSerializationSubclassOptionsKey(), options_dict_sp); // Add the m_offset to the dictionary: options_dict_sp->AddIntegerItem(GetKey(OptionNames::Offset), m_offset); return type_dict_sp; }
StructuredData::DictionarySP SearchFilter::WrapOptionsDict(StructuredData::DictionarySP options_dict_sp) { if (!options_dict_sp || !options_dict_sp->IsValid()) return StructuredData::DictionarySP(); auto type_dict_sp = std::make_shared<StructuredData::Dictionary>(); type_dict_sp->AddStringItem(GetSerializationSubclassKey(), GetFilterName()); type_dict_sp->AddItem(GetSerializationSubclassOptionsKey(), options_dict_sp); return type_dict_sp; }
void SearchFilter::SerializeFileSpecList( StructuredData::DictionarySP &options_dict_sp, OptionNames name, FileSpecList &file_list) { size_t num_modules = file_list.GetSize(); // Don't serialize empty lists. if (num_modules == 0) return; auto module_array_sp = std::make_shared<StructuredData::Array>(); for (size_t i = 0; i < num_modules; i++) { module_array_sp->AddItem(std::make_shared<StructuredData::String>( file_list.GetFileSpecAtIndex(i).GetPath())); } options_dict_sp->AddItem(GetKey(name), module_array_sp); }