More cleanups ; Separated implementation of FormatManager from class DataVisualization as a front-end by using separate .h/.cpp files - Final aim is to break up FormatManager.h/cpp into several separate files

llvm-svn: 138279
diff --git a/lldb/source/Core/DataVisualization.cpp b/lldb/source/Core/DataVisualization.cpp
new file mode 100644
index 0000000..f4aa23e
--- /dev/null
+++ b/lldb/source/Core/DataVisualization.cpp
@@ -0,0 +1,203 @@
+//===-- DataVisualization.cpp ---------------------------------------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "lldb/Core/DataVisualization.h"
+
+// C Includes
+// C++ Includes
+// Other libraries and framework includes
+// Project includes
+
+#include "lldb/Core/Debugger.h"
+
+using namespace lldb;
+using namespace lldb_private;
+
+static FormatManager&
+GetFormatManager()
+{
+    static FormatManager g_format_manager;
+    return g_format_manager;
+}
+
+void
+DataVisualization::ForceUpdate()
+{
+    GetFormatManager().Changed();
+}
+
+uint32_t
+DataVisualization::GetCurrentRevision ()
+{
+    return GetFormatManager().GetCurrentRevision();
+}
+
+bool
+DataVisualization::ValueFormats::Get(ValueObject& valobj, lldb::DynamicValueType use_dynamic, lldb::ValueFormatSP &entry)
+{
+    return GetFormatManager().GetValueNavigator().Get(valobj,entry, use_dynamic);
+}
+
+void
+DataVisualization::ValueFormats::Add(const ConstString &type, const lldb::ValueFormatSP &entry)
+{
+    GetFormatManager().GetValueNavigator().Add(FormatManager::GetValidTypeName(type),entry);
+}
+
+bool
+DataVisualization::ValueFormats::Delete(const ConstString &type)
+{
+    return GetFormatManager().GetValueNavigator().Delete(type);
+}
+
+void
+DataVisualization::ValueFormats::Clear()
+{
+    GetFormatManager().GetValueNavigator().Clear();
+}
+
+void
+DataVisualization::ValueFormats::LoopThrough(ValueFormat::ValueCallback callback, void* callback_baton)
+{
+    GetFormatManager().GetValueNavigator().LoopThrough(callback, callback_baton);
+}
+
+uint32_t
+DataVisualization::ValueFormats::GetCount()
+{
+    return GetFormatManager().GetValueNavigator().GetCount();
+}
+
+bool
+DataVisualization::GetSummaryFormat(ValueObject& valobj,
+                                       lldb::DynamicValueType use_dynamic,
+                                       lldb::SummaryFormatSP& entry)
+{
+    return GetFormatManager().Get(valobj, entry, use_dynamic);
+}
+bool
+DataVisualization::GetSyntheticChildren(ValueObject& valobj,
+                                           lldb::DynamicValueType use_dynamic,
+                                           lldb::SyntheticChildrenSP& entry)
+{
+    return GetFormatManager().Get(valobj, entry, use_dynamic);
+}
+
+bool
+DataVisualization::AnyMatches(ConstString type_name,
+                                 FormatCategory::FormatCategoryItems items,
+                                 bool only_enabled,
+                                 const char** matching_category,
+                                 FormatCategory::FormatCategoryItems* matching_type)
+{
+    return GetFormatManager().AnyMatches(type_name,
+                                         items,
+                                         only_enabled,
+                                         matching_category,
+                                         matching_type);
+}
+
+bool
+DataVisualization::Categories::Get(const ConstString &category, lldb::FormatCategorySP &entry)
+{
+    entry = GetFormatManager().Category(category);
+    return true;
+}
+
+void
+DataVisualization::Categories::Add(const ConstString &category)
+{
+    GetFormatManager().Category(category);
+}
+
+bool
+DataVisualization::Categories::Delete(const ConstString &category)
+{
+    GetFormatManager().DisableCategory(category);
+    return GetFormatManager().GetCategories().Delete(category);
+}
+
+void
+DataVisualization::Categories::Clear()
+{
+    GetFormatManager().GetCategories().Clear();
+}
+
+void
+DataVisualization::Categories::Clear(ConstString &category)
+{
+    GetFormatManager().Category(category)->ClearSummaries();
+}
+
+void
+DataVisualization::Categories::Enable(ConstString& category)
+{
+    if (GetFormatManager().Category(category)->IsEnabled() == false)
+        GetFormatManager().EnableCategory(category);
+    else
+    {
+        GetFormatManager().DisableCategory(category);
+        GetFormatManager().EnableCategory(category);
+    }
+}
+
+void
+DataVisualization::Categories::Disable(ConstString& category)
+{
+    if (GetFormatManager().Category(category)->IsEnabled() == true)
+        GetFormatManager().DisableCategory(category);
+}
+
+void
+DataVisualization::Categories::LoopThrough(FormatManager::CategoryCallback callback, void* callback_baton)
+{
+    GetFormatManager().LoopThroughCategories(callback, callback_baton);
+}
+
+uint32_t
+DataVisualization::Categories::GetCount()
+{
+    return GetFormatManager().GetCategories().GetCount();
+}
+
+bool
+DataVisualization::NamedSummaryFormats::Get(const ConstString &type, lldb::SummaryFormatSP &entry)
+{
+    return GetFormatManager().GetNamedSummaryNavigator().Get(type,entry);
+}
+
+void
+DataVisualization::NamedSummaryFormats::Add(const ConstString &type, const lldb::SummaryFormatSP &entry)
+{
+    GetFormatManager().GetNamedSummaryNavigator().Add(FormatManager::GetValidTypeName(type),entry);
+}
+
+bool
+DataVisualization::NamedSummaryFormats::Delete(const ConstString &type)
+{
+    return GetFormatManager().GetNamedSummaryNavigator().Delete(type);
+}
+
+void
+DataVisualization::NamedSummaryFormats::Clear()
+{
+    GetFormatManager().GetNamedSummaryNavigator().Clear();
+}
+
+void
+DataVisualization::NamedSummaryFormats::LoopThrough(SummaryFormat::SummaryCallback callback, void* callback_baton)
+{
+    GetFormatManager().GetNamedSummaryNavigator().LoopThrough(callback, callback_baton);
+}
+
+uint32_t
+DataVisualization::NamedSummaryFormats::GetCount()
+{
+    return GetFormatManager().GetNamedSummaryNavigator().GetCount();
+}
\ No newline at end of file