Gauge.cpp revision 9de4dec874148d30cc1d4c498d38cd048a8164ca
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"
119de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton
129de4dec874148d30cc1d4c498d38cd048a8164caGreg Claytontemplate <>
139de4dec874148d30cc1d4c498d38cd048a8164caGreg Claytonlldb_perf::Results::ResultSP
149de4dec874148d30cc1d4c498d38cd048a8164caGreg Claytonlldb_perf::GetResult (const char *description, double value)
159de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton{
169de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    if (description && description[0])
179de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    {
189de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton        std::unique_ptr<Results::Dictionary> value_dict_ap (new Results::Dictionary ());
199de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton        value_dict_ap->AddString("description", NULL, description);
209de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton        value_dict_ap->AddDouble("value", NULL, value);
219de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton        return Results::ResultSP (value_dict_ap.release());
229de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    }
239de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    return Results::ResultSP (new Results::Double (NULL, NULL, value));
249de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton}
259de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton
269de4dec874148d30cc1d4c498d38cd048a8164caGreg Claytontemplate <>
279de4dec874148d30cc1d4c498d38cd048a8164caGreg Claytonlldb_perf::Results::ResultSP
289de4dec874148d30cc1d4c498d38cd048a8164caGreg Claytonlldb_perf::GetResult (const char *description, uint64_t value)
299de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton{
309de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    if (description && description[0])
319de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    {
329de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton        std::unique_ptr<Results::Dictionary> value_dict_ap (new Results::Dictionary ());
339de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton        value_dict_ap->AddString("description", NULL, description);
349de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton        value_dict_ap->AddUnsigned("value", NULL, value);
359de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton        return Results::ResultSP (value_dict_ap.release());
369de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    }
379de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    return Results::ResultSP (new Results::Unsigned (NULL, NULL, value));
389de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton}
399de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton
409de4dec874148d30cc1d4c498d38cd048a8164caGreg Claytontemplate <>
419de4dec874148d30cc1d4c498d38cd048a8164caGreg Claytonlldb_perf::Results::ResultSP
429de4dec874148d30cc1d4c498d38cd048a8164caGreg Claytonlldb_perf::GetResult (const char *description, std::string value)
439de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton{
449de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    if (description && description[0])
459de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    {
469de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton        std::unique_ptr<Results::Dictionary> value_dict_ap (new Results::Dictionary ());
479de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton        value_dict_ap->AddString("description", NULL, description);
489de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton        value_dict_ap->AddString("value", NULL, value.c_str());
499de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton        return Results::ResultSP (value_dict_ap.release());
509de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    }
519de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton    return Results::ResultSP (new Results::String (NULL, NULL, value.c_str()));
529de4dec874148d30cc1d4c498d38cd048a8164caGreg Clayton}
53