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

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138279 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Commands/CommandObjectFrame.cpp b/source/Commands/CommandObjectFrame.cpp
index 86fb92e..94078b8 100644
--- a/source/Commands/CommandObjectFrame.cpp
+++ b/source/Commands/CommandObjectFrame.cpp
@@ -13,8 +13,8 @@
 // C++ Includes
 // Other libraries and framework includes
 // Project includes
+#include "lldb/Core/DataVisualization.h"
 #include "lldb/Core/Debugger.h"
-#include "lldb/Core/FormatManager.h"
 #include "lldb/Core/Module.h"
 #include "lldb/Core/StreamFile.h"
 #include "lldb/Core/Timer.h"
diff --git a/source/Commands/CommandObjectType.cpp b/source/Commands/CommandObjectType.cpp
index 23157f8..d0c5afa 100644
--- a/source/Commands/CommandObjectType.cpp
+++ b/source/Commands/CommandObjectType.cpp
@@ -15,9 +15,9 @@
 
 // C++ Includes
 
+#include "lldb/Core/DataVisualization.h"
 #include "lldb/Core/ConstString.h"
 #include "lldb/Core/Debugger.h"
-#include "lldb/Core/FormatManager.h"
 #include "lldb/Core/InputReaderEZ.h"
 #include "lldb/Core/RegularExpression.h"
 #include "lldb/Core/State.h"
diff --git a/source/Core/DataVisualization.cpp b/source/Core/DataVisualization.cpp
new file mode 100644
index 0000000..f4aa23e
--- /dev/null
+++ b/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
diff --git a/source/Core/FormatManager.cpp b/source/Core/FormatManager.cpp
index 93b7370..e010c88 100644
--- a/source/Core/FormatManager.cpp
+++ b/source/Core/FormatManager.cpp
@@ -225,6 +225,62 @@
     }
 }
 
+void
+FormatCategory::Clear (FormatCategoryItems items)
+{
+    if ( (items & eSummary) == eSummary )
+        m_summary_nav->Clear();
+    if ( (items & eRegexSummary) == eRegexSummary )
+        m_regex_summary_nav->Clear();
+    if ( (items & eFilter)  == eFilter )
+        m_filter_nav->Clear();
+    if ( (items & eRegexFilter) == eRegexFilter )
+        m_regex_filter_nav->Clear();
+    if ( (items & eSynth)  == eSynth )
+        m_synth_nav->Clear();
+    if ( (items & eRegexSynth) == eRegexSynth )
+        m_regex_synth_nav->Clear();
+}
+
+bool
+FormatCategory::Delete (ConstString name,
+                        FormatCategoryItems items)
+{
+    bool success = false;
+    if ( (items & eSummary) == eSummary )
+        success = m_summary_nav->Delete(name) || success;
+    if ( (items & eRegexSummary) == eRegexSummary )
+        success = m_regex_summary_nav->Delete(name) || success;
+    if ( (items & eFilter)  == eFilter )
+        success = m_filter_nav->Delete(name) || success;
+    if ( (items & eRegexFilter) == eRegexFilter )
+        success = m_regex_filter_nav->Delete(name) || success;
+    if ( (items & eSynth)  == eSynth )
+        success = m_synth_nav->Delete(name) || success;
+    if ( (items & eRegexSynth) == eRegexSynth )
+        success = m_regex_synth_nav->Delete(name) || success;
+    return success;
+}
+
+uint32_t
+FormatCategory::GetCount (FormatCategoryItems items)
+{
+    uint32_t count = 0;
+    if ( (items & eSummary) == eSummary )
+        count += m_summary_nav->GetCount();
+    if ( (items & eRegexSummary) == eRegexSummary )
+        count += m_regex_summary_nav->GetCount();
+    if ( (items & eFilter)  == eFilter )
+        count += m_filter_nav->GetCount();
+    if ( (items & eRegexFilter) == eRegexFilter )
+        count += m_regex_filter_nav->GetCount();
+    if ( (items & eSynth)  == eSynth )
+        count += m_synth_nav->GetCount();
+    if ( (items & eRegexSynth) == eRegexSynth )
+        count += m_regex_synth_nav->GetCount();
+    return count;
+}
+
 bool
 FormatCategory::AnyMatches(ConstString type_name,
                            FormatCategoryItems items,
@@ -458,187 +514,4 @@
     EnableCategory(m_gnu_cpp_category_name);
     EnableCategory(m_default_category_name);
     
-}
-
-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().Value().Get(valobj,entry, use_dynamic);
-}
-
-void
-DataVisualization::ValueFormats::Add(const ConstString &type, const lldb::ValueFormatSP &entry)
-{
-    GetFormatManager().Value().Add(FormatManager::GetValidTypeName(type),entry);
-}
-
-bool
-DataVisualization::ValueFormats::Delete(const ConstString &type)
-{
-    return GetFormatManager().Value().Delete(type);
-}
-
-void
-DataVisualization::ValueFormats::Clear()
-{
-    GetFormatManager().Value().Clear();
-}
-
-void
-DataVisualization::ValueFormats::LoopThrough(ValueFormat::ValueCallback callback, void* callback_baton)
-{
-    GetFormatManager().Value().LoopThrough(callback, callback_baton);
-}
-
-uint32_t
-DataVisualization::ValueFormats::GetCount()
-{
-    return GetFormatManager().Value().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().Categories().Delete(category);
-}
-
-void
-DataVisualization::Categories::Clear()
-{
-    GetFormatManager().Categories().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().Categories().GetCount();
-}
-
-bool
-DataVisualization::NamedSummaryFormats::Get(const ConstString &type, lldb::SummaryFormatSP &entry)
-{
-    return GetFormatManager().NamedSummary().Get(type,entry);
-}
-
-void
-DataVisualization::NamedSummaryFormats::Add(const ConstString &type, const lldb::SummaryFormatSP &entry)
-{
-    GetFormatManager().NamedSummary().Add(FormatManager::GetValidTypeName(type),entry);
-}
-
-bool
-DataVisualization::NamedSummaryFormats::Delete(const ConstString &type)
-{
-    return GetFormatManager().NamedSummary().Delete(type);
-}
-
-void
-DataVisualization::NamedSummaryFormats::Clear()
-{
-    GetFormatManager().NamedSummary().Clear();
-}
-
-void
-DataVisualization::NamedSummaryFormats::LoopThrough(SummaryFormat::SummaryCallback callback, void* callback_baton)
-{
-    GetFormatManager().NamedSummary().LoopThrough(callback, callback_baton);
-}
-
-uint32_t
-DataVisualization::NamedSummaryFormats::GetCount()
-{
-    return GetFormatManager().NamedSummary().GetCount();
 }
\ No newline at end of file
diff --git a/source/Core/ValueObject.cpp b/source/Core/ValueObject.cpp
index b8b3465..948109d 100644
--- a/source/Core/ValueObject.cpp
+++ b/source/Core/ValueObject.cpp
@@ -19,8 +19,8 @@
 
 // Project includes
 #include "lldb/Core/DataBufferHeap.h"
+#include "lldb/Core/DataVisualization.h"
 #include "lldb/Core/Debugger.h"
-#include "lldb/Core/FormatManager.h"
 #include "lldb/Core/Log.h"
 #include "lldb/Core/StreamString.h"
 #include "lldb/Core/ValueObjectChild.h"
diff --git a/source/Interpreter/CommandObjectScript.cpp b/source/Interpreter/CommandObjectScript.cpp
index a645287..9736f49 100644
--- a/source/Interpreter/CommandObjectScript.cpp
+++ b/source/Interpreter/CommandObjectScript.cpp
@@ -14,8 +14,8 @@
 // Other libraries and framework includes
 // Project includes
 
+#include "lldb/Core/DataVisualization.h"
 #include "lldb/Core/Debugger.h"
-#include "lldb/Core/FormatManager.h"
 #include "lldb/Interpreter/Args.h"
 
 #include "lldb/Interpreter/CommandReturnObject.h"