From 6ec63cdde1a0448368eb3d050c82951e6da26ae4 Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Fri, 15 Jul 2011 04:04:34 +0000 Subject: [PATCH] Clean up libaegisub includes Remove cajun includes from all public headers and the precompiled header Add a pile of missing standard library headers used in multiple files to lagi_pre Originally committed to SVN as r5452. --- aegisub/libaegisub/common/charset_conv.cpp | 2 +- aegisub/libaegisub/common/mru.cpp | 2 +- aegisub/libaegisub/common/option.cpp | 5 +++- aegisub/libaegisub/common/option_visit.cpp | 13 ++++------- aegisub/libaegisub/common/option_visit.h | 10 +------- aegisub/libaegisub/common/path.cpp | 1 + .../libaegisub/include/libaegisub/hotkey.h | 5 ++-- aegisub/libaegisub/include/libaegisub/json.h | 3 +-- .../libaegisub/include/libaegisub/option.h | 3 ++- aegisub/libaegisub/lagi_pre.h | 23 +++++++++---------- aegisub/src/include/aegisub/menu.h | 3 ++- aegisub/src/include/aegisub/toolbar.h | 3 ++- aegisub/src/main.h | 1 + 13 files changed, 34 insertions(+), 40 deletions(-) diff --git a/aegisub/libaegisub/common/charset_conv.cpp b/aegisub/libaegisub/common/charset_conv.cpp index 2e216dd2a..75688177c 100644 --- a/aegisub/libaegisub/common/charset_conv.cpp +++ b/aegisub/libaegisub/common/charset_conv.cpp @@ -19,10 +19,10 @@ /// @ingroup libaegisub #ifndef LAGI_PRE -#include #include #include +#include #include #endif diff --git a/aegisub/libaegisub/common/mru.cpp b/aegisub/libaegisub/common/mru.cpp index 6fa53c08a..b265eb8f2 100644 --- a/aegisub/libaegisub/common/mru.cpp +++ b/aegisub/libaegisub/common/mru.cpp @@ -21,11 +21,11 @@ #ifndef LAGI_PRE #include #include +#endif #include "libaegisub/cajun/reader.h" #include "libaegisub/cajun/writer.h" #include "libaegisub/cajun/elements.h" -#endif #include "libaegisub/access.h" #include "libaegisub/log.h" diff --git a/aegisub/libaegisub/common/option.cpp b/aegisub/libaegisub/common/option.cpp index 87f232d37..9e047a9a5 100644 --- a/aegisub/libaegisub/common/option.cpp +++ b/aegisub/libaegisub/common/option.cpp @@ -18,20 +18,23 @@ /// @brief Option interface. /// @ingroup libaegisub +#include "libaegisub/option.h" + #ifndef LAGI_PRE #include #include #include #include +#endif #include "libaegisub/cajun/reader.h" #include "libaegisub/cajun/writer.h" #include "libaegisub/cajun/elements.h" -#endif #include "libaegisub/access.h" #include "libaegisub/io.h" #include "libaegisub/log.h" +#include "libaegisub/option_value.h" #include "option_visit.h" diff --git a/aegisub/libaegisub/common/option_visit.cpp b/aegisub/libaegisub/common/option_visit.cpp index f74af7adc..77d378f6f 100644 --- a/aegisub/libaegisub/common/option_visit.cpp +++ b/aegisub/libaegisub/common/option_visit.cpp @@ -26,21 +26,18 @@ #endif #include +#include #include "option_visit.h" namespace agi { -ConfigVisitor::ConfigVisitor(OptionValueMap &val, const std::string &member_name): values(val) { - // Corresponding code is in AddOptionValue() - name = member_name + "/"; +ConfigVisitor::ConfigVisitor(OptionValueMap &val, const std::string &member_name) +: values(val) +, name(member_name + "/") +{ } -ConfigVisitor::~ConfigVisitor() { -} - - void ConfigVisitor::Visit(const json::Object& object) { - json::Object::const_iterator index(object.Begin()), index_end(object.End()); for (; index != index_end; ++index) { diff --git a/aegisub/libaegisub/common/option_visit.h b/aegisub/libaegisub/common/option_visit.h index 537c2427b..33b52f3dd 100644 --- a/aegisub/libaegisub/common/option_visit.h +++ b/aegisub/libaegisub/common/option_visit.h @@ -19,14 +19,9 @@ /// @see option_visit.cpp /// @ingroup libaegisub -#ifndef LAGI_PRE +#include "libaegisub/option.h" #include "libaegisub/cajun/elements.h" #include "libaegisub/cajun/visitor.h" -#endif - -#pragma once - -#include "libaegisub/option.h" namespace agi { @@ -36,7 +31,6 @@ DEFINE_SIMPLE_EXCEPTION_NOINNER(OptionJsonValueSingle, OptionJsonValueError, "op DEFINE_SIMPLE_EXCEPTION_NOINNER(OptionJsonValueNull, OptionJsonValueError, "options/value") class ConfigVisitor : public json::ConstVisitor { - OptionValueMap &values; std::string name; typedef std::pair OptionValuePair; @@ -44,9 +38,7 @@ class ConfigVisitor : public json::ConstVisitor { void AddOptionValue(OptionValue* opt); public: - ConfigVisitor(OptionValueMap &val, const std::string &member_name); - ~ConfigVisitor(); void Visit(const json::Array& array); void Visit(const json::Object& object); diff --git a/aegisub/libaegisub/common/path.cpp b/aegisub/libaegisub/common/path.cpp index 800e8f11b..a52582651 100644 --- a/aegisub/libaegisub/common/path.cpp +++ b/aegisub/libaegisub/common/path.cpp @@ -26,6 +26,7 @@ #include "libaegisub/log.h" #include "libaegisub/path.h" #include "libaegisub/option.h" +#include "libaegisub/option_value.h" namespace agi { diff --git a/aegisub/libaegisub/include/libaegisub/hotkey.h b/aegisub/libaegisub/include/libaegisub/hotkey.h index d9e52f534..433c3f017 100644 --- a/aegisub/libaegisub/include/libaegisub/hotkey.h +++ b/aegisub/libaegisub/include/libaegisub/hotkey.h @@ -26,8 +26,7 @@ #include #endif -#include - +namespace json { class Object; } namespace agi { namespace hotkey { @@ -125,7 +124,7 @@ private: /// Build hotkey map. /// @param context Context being parsed. /// @param object json::Object holding items for context being parsed. - void BuildHotkey(std::string context, const ::json::Object& object); + void BuildHotkey(std::string context, const json::Object& object); /// Insert Combo into HotkeyMap instance. /// @param combo Combo to insert. diff --git a/aegisub/libaegisub/include/libaegisub/json.h b/aegisub/libaegisub/include/libaegisub/json.h index e2f5623a1..52dcbd172 100644 --- a/aegisub/libaegisub/include/libaegisub/json.h +++ b/aegisub/libaegisub/include/libaegisub/json.h @@ -18,12 +18,11 @@ /// @brief Parse JSON files and return json::UnknownElement /// @ingroup libaegisub io - #include #include namespace agi { - namespace json_util { + namespace json_util { /// Parse a JSON stream. /// @param stream JSON stream, this is deleted internally. diff --git a/aegisub/libaegisub/include/libaegisub/option.h b/aegisub/libaegisub/include/libaegisub/option.h index 77919f3be..3c60814ee 100644 --- a/aegisub/libaegisub/include/libaegisub/option.h +++ b/aegisub/libaegisub/include/libaegisub/option.h @@ -18,13 +18,13 @@ /// @brief Public interface for option values. /// @ingroup libaegisub +#pragma once #ifndef LAGI_PRE #include #endif #include -#include namespace json { class Object; @@ -37,6 +37,7 @@ DEFINE_BASE_EXCEPTION_NOINNER(OptionError,Exception) DEFINE_SIMPLE_EXCEPTION_NOINNER(OptionErrorNotFound, OptionError, "options/not_found") DEFINE_SIMPLE_EXCEPTION_NOINNER(OptionErrorDuplicateKey, OptionError, "options/dump/duplicate") +class OptionValue; /// This is a cool trick: make a class un-copyable, in this case we always want /// to update our *original* map, this will ensure that it is always updated in diff --git a/aegisub/libaegisub/lagi_pre.h b/aegisub/libaegisub/lagi_pre.h index 0dfcf40c2..ea0b31639 100644 --- a/aegisub/libaegisub/lagi_pre.h +++ b/aegisub/libaegisub/lagi_pre.h @@ -3,12 +3,13 @@ #include "config.h" // Common C -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #include -#include #include #ifdef HAVE_SYS_TIME_H # include @@ -30,16 +31,21 @@ #endif // Common C++ +#include #include #include #include +#include #include #include +#include #include #include #include +#include #include #include +#include #ifdef _WIN32 #include @@ -56,10 +62,3 @@ #else # include #endif - -// Cajun -#include "libaegisub/cajun/elements.h" -#include "libaegisub/cajun/reader.h" -#include "libaegisub/cajun/visitor.h" -#include "libaegisub/cajun/writer.h" - diff --git a/aegisub/src/include/aegisub/menu.h b/aegisub/src/include/aegisub/menu.h index 6c9cda645..d60b77ba3 100644 --- a/aegisub/src/include/aegisub/menu.h +++ b/aegisub/src/include/aegisub/menu.h @@ -24,9 +24,10 @@ #include #endif -#include #include +namespace json { class Array; } + namespace menu { DEFINE_BASE_EXCEPTION_NOINNER(MenuError, agi::Exception) DEFINE_SIMPLE_EXCEPTION_NOINNER(MenuJsonValueArray, MenuError, "menu/value/array") diff --git a/aegisub/src/include/aegisub/toolbar.h b/aegisub/src/include/aegisub/toolbar.h index 6bce4a2a9..653831ec1 100644 --- a/aegisub/src/include/aegisub/toolbar.h +++ b/aegisub/src/include/aegisub/toolbar.h @@ -24,9 +24,10 @@ #include #endif -#include #include +namespace json { class Array; } + namespace toolbar { DEFINE_BASE_EXCEPTION_NOINNER(ToolbarError, agi::Exception) DEFINE_SIMPLE_EXCEPTION_NOINNER(ToolbarJsonValueArray, ToolbarError, "toolbar/value/array") diff --git a/aegisub/src/main.h b/aegisub/src/main.h index e4e243f8a..dba24f4db 100644 --- a/aegisub/src/main.h +++ b/aegisub/src/main.h @@ -46,6 +46,7 @@ #include "aegisublocale.h" #include #include +#include #include //////////////