19de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton//===-- Gauge.cpp -----------------------------------------------*- C++ -*-===//
29de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton//
39de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton//                     The LLVM Compiler Infrastructure
49de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton//
59de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton// This file is distributed under the University of Illinois Open Source
69de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton// License. See LICENSE.TXT for details.
79de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton//
89de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton//===----------------------------------------------------------------------===//
99de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton
109de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton#include "Gauge.h"
110b10ef61ea60e24fe7736cd98bd5fb45efe9c816Greg Clayton#include "lldb/lldb-forward.h"
129de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton
139de4dec874148d30cc1d4c498d38cd048a8164caGreg Claytontemplate <>
149de4dec874148d30cc1d4c498d38cd048a8164caGreg Claytonlldb_perf::Results::ResultSP
159de4dec874148d30cc1d4c498d38cd048a8164caGreg Claytonlldb_perf::GetResult (const char *description, double value)
169de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton{
179de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    if (description && description[0])
189de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    {
19102b2c2681c9a830afe25bfea35557421905e42cGreg Clayton        std::unique_ptr<Results::Dictionary> value_dict_ap (new Results::Dictionary ());
209de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton        value_dict_ap->AddString("description", NULL, description);
219de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton        value_dict_ap->AddDouble("value", NULL, value);
229de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton        return Results::ResultSP (value_dict_ap.release());
239de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    }
249de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    return Results::ResultSP (new Results::Double (NULL, NULL, value));
259de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton}
269de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton
279de4dec874148d30cc1d4c498d38cd048a8164caGreg Claytontemplate <>
289de4dec874148d30cc1d4c498d38cd048a8164caGreg Claytonlldb_perf::Results::ResultSP
299de4dec874148d30cc1d4c498d38cd048a8164caGreg Claytonlldb_perf::GetResult (const char *description, uint64_t value)
309de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton{
319de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    if (description && description[0])
329de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    {
33102b2c2681c9a830afe25bfea35557421905e42cGreg Clayton        std::unique_ptr<Results::Dictionary> value_dict_ap (new Results::Dictionary ());
349de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton        value_dict_ap->AddString("description", NULL, description);
359de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton        value_dict_ap->AddUnsigned("value", NULL, value);
369de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton        return Results::ResultSP (value_dict_ap.release());
379de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    }
389de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    return Results::ResultSP (new Results::Unsigned (NULL, NULL, value));
399de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton}
409de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton
419de4dec874148d30cc1d4c498d38cd048a8164caGreg Claytontemplate <>
429de4dec874148d30cc1d4c498d38cd048a8164caGreg Claytonlldb_perf::Results::ResultSP
439de4dec874148d30cc1d4c498d38cd048a8164caGreg Claytonlldb_perf::GetResult (const char *description, std::string value)
449de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton{
459de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    if (description && description[0])
469de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    {
47102b2c2681c9a830afe25bfea35557421905e42cGreg Clayton        std::unique_ptr<Results::Dictionary> value_dict_ap (new Results::Dictionary ());
489de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton        value_dict_ap->AddString("description", NULL, description);
499de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton        value_dict_ap->AddString("value", NULL, value.c_str());
509de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton        return Results::ResultSP (value_dict_ap.release());
519de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    }
529de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    return Results::ResultSP (new Results::String (NULL, NULL, value.c_str()));
539de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton}
54