Ejemplo n.º 1
0
void CrashData::Serialize(Serializer& serializer) const
{
    Domain::Serialize(serializer);
    serializer.WritePropertyName(L"ver");
    serializer.WriteIntegerValue(m_ver);
    
    serializer.WritePropertyName(L"headers");
    serializer.WriteObjectValue(m_headers);
    
    if (m_threads.size() > 0)
    {
        serializer.WritePropertyName(L"threads");
        serializer.BeginArrayValue();
        for (auto &it : m_threads)
        {
            serializer.WriteObjectValue(it);
        }
        serializer.EndArrayValue();
    }
    
    if (m_binaries.size() > 0)
    {
        serializer.WritePropertyName(L"binaries");
        serializer.BeginArrayValue();
        for (auto &it : m_binaries)
        {
            serializer.WriteObjectValue(it);
        }
        serializer.EndArrayValue();
    }
}
void MetricData::Serialize(Serializer& serializer) const
{
    Domain::Serialize(serializer);
    serializer.WritePropertyName(L"ver");
    serializer.WriteIntegerValue(m_ver);

    serializer.WritePropertyName(L"metrics");
    serializer.BeginArrayValue();
    for (auto &it : m_metrics)
    {
        serializer.WriteObjectValue(it);
    }
    serializer.EndArrayValue();

    if (m_properties.size() > 0)
    {
        serializer.WritePropertyName(L"properties");
        serializer.BeginDictionaryValue();
        for (auto &it : m_properties)
        {
            serializer.WritePropertyName(it.first);
            serializer.WriteStringValue(it.second);
        }
        serializer.EndDictionaryValue();
    }
}