aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-11-04 21:59:42 +0800
committerYuqian Yang <crupest@crupest.life>2025-11-04 21:59:42 +0800
commit1a6111e3f02b0a9cff0f81fb524b4dfb7d69854b (patch)
tree3a92e1bf61fc165c2148f38ca6602f5066011f06
parentf48505c96a70e2f1d1982fea30f3015e42fcd49d (diff)
downloadcru-1a6111e3f02b0a9cff0f81fb524b4dfb7d69854b.tar.gz
cru-1a6111e3f02b0a9cff0f81fb524b4dfb7d69854b.tar.bz2
cru-1a6111e3f02b0a9cff0f81fb524b4dfb7d69854b.zip
Move xml to base.
-rw-r--r--include/cru/base/xml/XmlNode.h (renamed from include/cru/xml/XmlNode.h)42
-rw-r--r--include/cru/base/xml/XmlParser.h (renamed from include/cru/xml/XmlParser.h)7
-rw-r--r--include/cru/ui/ThemeResourceDictionary.h2
-rw-r--r--include/cru/ui/mapper/BorderStyleMapper.h2
-rw-r--r--include/cru/ui/mapper/BrushMapper.h2
-rw-r--r--include/cru/ui/mapper/ColorMapper.h2
-rw-r--r--include/cru/ui/mapper/CursorMapper.h2
-rw-r--r--include/cru/ui/mapper/Mapper.h2
-rw-r--r--include/cru/ui/mapper/ThicknessMapper.h2
-rw-r--r--include/cru/ui/mapper/style/BorderStylerMapper.h2
-rw-r--r--include/cru/ui/mapper/style/IConditionMapper.h2
-rw-r--r--include/cru/ui/mapper/style/IStylerMapper.h2
-rw-r--r--include/cru/ui/mapper/style/NoConditionMapper.h2
-rw-r--r--include/cru/ui/mapper/style/StyleRuleMapper.h2
-rw-r--r--include/cru/xml/Base.h11
-rw-r--r--src/CMakeLists.txt1
-rw-r--r--src/base/CMakeLists.txt2
-rw-r--r--src/base/xml/XmlNode.cpp (renamed from src/xml/XmlNode.cpp)5
-rw-r--r--src/base/xml/XmlParser.cpp (renamed from src/xml/XmlParser.cpp)7
-rw-r--r--src/ui/CMakeLists.txt2
-rw-r--r--src/ui/ThemeResourceDictionary.cpp4
-rw-r--r--src/ui/mapper/BorderStyleMapper.cpp2
-rw-r--r--src/ui/mapper/BrushMapper.cpp2
-rw-r--r--src/ui/mapper/StringMapper.cpp2
-rw-r--r--src/ui/mapper/ThicknessMapper.cpp2
-rw-r--r--src/ui/mapper/style/AndConditionMapper.cpp2
-rw-r--r--src/ui/mapper/style/BorderStylerMapper.cpp2
-rw-r--r--src/ui/mapper/style/CheckedConditionMapper.cpp2
-rw-r--r--src/ui/mapper/style/ContentBrushStylerMapper.cpp2
-rw-r--r--src/ui/mapper/style/FocusConditionMapper.cpp2
-rw-r--r--src/ui/mapper/style/NoConditionMapper.cpp2
-rw-r--r--src/ui/mapper/style/OrConditionMapper.cpp2
-rw-r--r--src/xml/CMakeLists.txt6
-rw-r--r--test/CMakeLists.txt1
-rw-r--r--test/base/CMakeLists.txt1
-rw-r--r--test/base/xml/ParserTest.cpp (renamed from test/xml/ParserTest.cpp)4
-rw-r--r--test/xml/CMakeLists.txt6
37 files changed, 51 insertions, 94 deletions
diff --git a/include/cru/xml/XmlNode.h b/include/cru/base/xml/XmlNode.h
index 1574f6fa..e9090b40 100644
--- a/include/cru/xml/XmlNode.h
+++ b/include/cru/base/xml/XmlNode.h
@@ -1,18 +1,14 @@
#pragma once
-#include "Base.h"
-
-#include <cru/base/Base.h>
-#include <cru/base/StringUtil.h>
-#include <optional>
-#include <vector>
+#include "../Base.h"
+#include "../StringUtil.h"
namespace cru::xml {
class XmlElementNode;
class XmlTextNode;
class XmlCommentNode;
-class CRU_XML_API XmlNode {
+class CRU_BASE_API XmlNode : public Object {
friend XmlElementNode;
public:
@@ -22,11 +18,6 @@ class CRU_XML_API XmlNode {
explicit XmlNode(Type type) : type_(type) {}
public:
- CRU_DELETE_COPY(XmlNode)
- CRU_DELETE_MOVE(XmlNode)
-
- virtual ~XmlNode() = default;
-
Type GetType() const { return type_; }
XmlElementNode* GetParent() const { return parent_; }
@@ -48,17 +39,12 @@ class CRU_XML_API XmlNode {
XmlElementNode* parent_ = nullptr;
};
-class CRU_XML_API XmlTextNode : public XmlNode {
+class CRU_BASE_API XmlTextNode : public XmlNode {
public:
XmlTextNode() : XmlNode(Type::Text) {}
explicit XmlTextNode(std::string text)
: XmlNode(Type::Text), text_(std::move(text)) {}
- CRU_DELETE_COPY(XmlTextNode)
- CRU_DELETE_MOVE(XmlTextNode)
-
- ~XmlTextNode() override = default;
-
public:
std::string GetText() const { return text_; }
void SetText(std::string text) { text_ = std::move(text); }
@@ -69,18 +55,16 @@ class CRU_XML_API XmlTextNode : public XmlNode {
std::string text_;
};
-class CRU_XML_API XmlElementNode : public XmlNode {
+class CRU_BASE_API XmlElementNode : public XmlNode {
public:
XmlElementNode() : XmlNode(Type::Element) {}
- explicit XmlElementNode(std::string tag,
- std::unordered_map<std::string, std::string> attributes = {})
+ explicit XmlElementNode(
+ std::string tag,
+ std::unordered_map<std::string, std::string> attributes = {})
: XmlNode(Type::Element),
tag_(std::move(tag)),
attributes_(std::move(attributes)) {}
- CRU_DELETE_COPY(XmlElementNode)
- CRU_DELETE_MOVE(XmlElementNode)
-
~XmlElementNode() override;
public:
@@ -101,7 +85,8 @@ class CRU_XML_API XmlElementNode : public XmlNode {
std::string GetAttributeValueCaseInsensitive(const std::string& key) const {
return *GetOptionalAttributeValueCaseInsensitive(key);
}
- std::optional<std::string> GetOptionalAttributeValue(const std::string& key) const {
+ std::optional<std::string> GetOptionalAttributeValue(
+ const std::string& key) const {
auto it = attributes_.find(key);
if (it == attributes_.end()) {
return std::nullopt;
@@ -136,17 +121,12 @@ class CRU_XML_API XmlElementNode : public XmlNode {
std::vector<XmlNode*> children_;
};
-class CRU_XML_API XmlCommentNode : public XmlNode {
+class CRU_BASE_API XmlCommentNode : public XmlNode {
public:
XmlCommentNode() : XmlNode(Type::Comment) {}
explicit XmlCommentNode(std::string text)
: XmlNode(Type::Comment), text_(std::move(text)) {}
- CRU_DELETE_COPY(XmlCommentNode)
- CRU_DELETE_MOVE(XmlCommentNode)
-
- ~XmlCommentNode() override;
-
std::string GetText() const { return text_; }
void SetText(std::string text) { text_ = std::move(text); }
diff --git a/include/cru/xml/XmlParser.h b/include/cru/base/xml/XmlParser.h
index b6589f1b..22b529d7 100644
--- a/include/cru/xml/XmlParser.h
+++ b/include/cru/base/xml/XmlParser.h
@@ -1,16 +1,15 @@
#pragma once
+#include "../Exception.h"
#include "XmlNode.h"
-#include "cru/base/Exception.h"
-
namespace cru::xml {
-class CRU_XML_API XmlParsingException : public Exception {
+class CRU_BASE_API XmlParsingException : public Exception {
public:
using Exception::Exception;
};
-class CRU_XML_API XmlParser {
+class CRU_BASE_API XmlParser {
public:
explicit XmlParser(std::string xml);
diff --git a/include/cru/ui/ThemeResourceDictionary.h b/include/cru/ui/ThemeResourceDictionary.h
index f28a61db..3995fe25 100644
--- a/include/cru/ui/ThemeResourceDictionary.h
+++ b/include/cru/ui/ThemeResourceDictionary.h
@@ -2,7 +2,7 @@
#include "Base.h"
#include "cru/base/Base.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
#include "mapper/MapperRegistry.h"
#include "style/StyleRuleSet.h"
diff --git a/include/cru/ui/mapper/BorderStyleMapper.h b/include/cru/ui/mapper/BorderStyleMapper.h
index d585639f..fd84b0b0 100644
--- a/include/cru/ui/mapper/BorderStyleMapper.h
+++ b/include/cru/ui/mapper/BorderStyleMapper.h
@@ -1,7 +1,7 @@
#pragma once
#include "Mapper.h"
#include "cru/ui/style/ApplyBorderStyleInfo.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
namespace cru::ui::mapper {
class CRU_UI_API BorderStyleMapper
diff --git a/include/cru/ui/mapper/BrushMapper.h b/include/cru/ui/mapper/BrushMapper.h
index 3b918dc7..3972d6ff 100644
--- a/include/cru/ui/mapper/BrushMapper.h
+++ b/include/cru/ui/mapper/BrushMapper.h
@@ -2,7 +2,7 @@
#include "Mapper.h"
#include "cru/base/Base.h"
#include "cru/platform/graphics/Brush.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
namespace cru::ui::mapper {
class BrushMapper : public BasicSharedPtrMapper<platform::graphics::IBrush> {
diff --git a/include/cru/ui/mapper/ColorMapper.h b/include/cru/ui/mapper/ColorMapper.h
index e3846712..9555bf5a 100644
--- a/include/cru/ui/mapper/ColorMapper.h
+++ b/include/cru/ui/mapper/ColorMapper.h
@@ -1,6 +1,6 @@
#pragma once
#include "Mapper.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
namespace cru::ui::mapper {
class CRU_UI_API ColorMapper : public BasicMapper<Color> {
diff --git a/include/cru/ui/mapper/CursorMapper.h b/include/cru/ui/mapper/CursorMapper.h
index 951291c1..4d55f849 100644
--- a/include/cru/ui/mapper/CursorMapper.h
+++ b/include/cru/ui/mapper/CursorMapper.h
@@ -1,7 +1,7 @@
#pragma once
#include "Mapper.h"
#include "cru/platform/gui/Cursor.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
namespace cru::ui::mapper {
class CRU_UI_API CursorMapper : public BasicSharedPtrMapper<platform::gui::ICursor> {
diff --git a/include/cru/ui/mapper/Mapper.h b/include/cru/ui/mapper/Mapper.h
index a4507fc9..e4a4c528 100644
--- a/include/cru/ui/mapper/Mapper.h
+++ b/include/cru/ui/mapper/Mapper.h
@@ -3,7 +3,7 @@
#include "cru/base/ClonablePtr.h"
#include "cru/base/Exception.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
#include <memory>
#include <type_traits>
diff --git a/include/cru/ui/mapper/ThicknessMapper.h b/include/cru/ui/mapper/ThicknessMapper.h
index 84b6b036..25885cbf 100644
--- a/include/cru/ui/mapper/ThicknessMapper.h
+++ b/include/cru/ui/mapper/ThicknessMapper.h
@@ -3,7 +3,7 @@
#include "../Base.h"
#include "cru/base/Base.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
namespace cru::ui::mapper {
class CRU_UI_API ThicknessMapper : public BasicMapper<Thickness> {
diff --git a/include/cru/ui/mapper/style/BorderStylerMapper.h b/include/cru/ui/mapper/style/BorderStylerMapper.h
index 57b5dce4..8cb4d392 100644
--- a/include/cru/ui/mapper/style/BorderStylerMapper.h
+++ b/include/cru/ui/mapper/style/BorderStylerMapper.h
@@ -3,7 +3,7 @@
#include "cru/base/ClonablePtr.h"
#include "cru/ui/mapper/style/IStylerMapper.h"
#include "cru/ui/style/Styler.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
namespace cru::ui::mapper::style {
class CRU_UI_API BorderStylerMapper
diff --git a/include/cru/ui/mapper/style/IConditionMapper.h b/include/cru/ui/mapper/style/IConditionMapper.h
index bfe24224..7bfd1427 100644
--- a/include/cru/ui/mapper/style/IConditionMapper.h
+++ b/include/cru/ui/mapper/style/IConditionMapper.h
@@ -3,7 +3,7 @@
#include "cru/base/ClonablePtr.h"
#include "cru/ui/mapper/Mapper.h"
#include "cru/ui/style/Condition.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
namespace cru::ui::mapper::style {
struct CRU_UI_API IConditionMapper : virtual Interface {
diff --git a/include/cru/ui/mapper/style/IStylerMapper.h b/include/cru/ui/mapper/style/IStylerMapper.h
index adf9b6fb..4aa43665 100644
--- a/include/cru/ui/mapper/style/IStylerMapper.h
+++ b/include/cru/ui/mapper/style/IStylerMapper.h
@@ -3,7 +3,7 @@
#include "cru/base/ClonablePtr.h"
#include "cru/ui/mapper/Mapper.h"
#include "cru/ui/style/Styler.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
namespace cru::ui::mapper::style {
struct CRU_UI_API IStylerMapper : virtual Interface {
diff --git a/include/cru/ui/mapper/style/NoConditionMapper.h b/include/cru/ui/mapper/style/NoConditionMapper.h
index 06106514..bd2adf14 100644
--- a/include/cru/ui/mapper/style/NoConditionMapper.h
+++ b/include/cru/ui/mapper/style/NoConditionMapper.h
@@ -4,7 +4,7 @@
#include "cru/base/Base.h"
#include "cru/base/ClonablePtr.h"
#include "cru/ui/style/Condition.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
namespace cru::ui::mapper::style {
class CRU_UI_API NoConditionMapper
diff --git a/include/cru/ui/mapper/style/StyleRuleMapper.h b/include/cru/ui/mapper/style/StyleRuleMapper.h
index 12fcb85b..b4cb95e7 100644
--- a/include/cru/ui/mapper/style/StyleRuleMapper.h
+++ b/include/cru/ui/mapper/style/StyleRuleMapper.h
@@ -3,7 +3,7 @@
#include "cru/base/Base.h"
#include "cru/base/ClonablePtr.h"
#include "cru/ui/style/StyleRule.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
namespace cru::ui::mapper::style {
class CRU_UI_API StyleRuleMapper : public BasicClonablePtrMapper<ui::style::StyleRule> {
diff --git a/include/cru/xml/Base.h b/include/cru/xml/Base.h
deleted file mode 100644
index aa3aeaa2..00000000
--- a/include/cru/xml/Base.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#pragma once
-
-#ifdef CRU_IS_DLL
-#ifdef CRU_XML_EXPORT_API
-#define CRU_XML_API __declspec(dllexport)
-#else
-#define CRU_XML_API __declspec(dllimport)
-#endif
-#else
-#define CRU_XML_API
-#endif
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 959f2dd1..9f9c205f 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -3,6 +3,5 @@ add_subdirectory(platform)
add_subdirectory(ui)
add_subdirectory(parse)
add_subdirectory(toml)
-add_subdirectory(xml)
add_subdirectory(ThemeBuilder)
diff --git a/src/base/CMakeLists.txt b/src/base/CMakeLists.txt
index be45d0e0..ef5afe3c 100644
--- a/src/base/CMakeLists.txt
+++ b/src/base/CMakeLists.txt
@@ -14,6 +14,8 @@ add_library(CruBase
io/MemoryStream.cpp
log/Logger.cpp
log/StdioLogTarget.cpp
+ xml/XmlNode.cpp
+ xml/XmlParser.cpp
)
target_compile_definitions(CruBase PRIVATE CRU_BASE_EXPORT_API)
target_include_directories(CruBase PUBLIC ${CRU_INCLUDE_DIR})
diff --git a/src/xml/XmlNode.cpp b/src/base/xml/XmlNode.cpp
index c9b73c50..d3e7369b 100644
--- a/src/xml/XmlNode.cpp
+++ b/src/base/xml/XmlNode.cpp
@@ -1,4 +1,5 @@
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
+
#include <algorithm>
namespace cru::xml {
@@ -66,8 +67,6 @@ XmlNode* XmlElementNode::Clone() const {
return node;
}
-XmlCommentNode::~XmlCommentNode() {}
-
XmlNode* XmlCommentNode::Clone() const {
XmlCommentNode* node = new XmlCommentNode(text_);
diff --git a/src/xml/XmlParser.cpp b/src/base/xml/XmlParser.cpp
index 9bfd5441..c35d7a7b 100644
--- a/src/xml/XmlParser.cpp
+++ b/src/base/xml/XmlParser.cpp
@@ -1,6 +1,6 @@
-#include "cru/xml/XmlParser.h"
+#include "cru/base/xml/XmlParser.h"
#include "cru/base/StringUtil.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
namespace cru::xml {
XmlParser::XmlParser(std::string xml) : xml_(std::move(xml)) {}
@@ -179,7 +179,8 @@ XmlElementNode* XmlParser::DoParse() {
text += c;
}
- if (!text.empty()) current_->AddChild(new XmlTextNode(cru::string::TrimEnd(text)));
+ if (!text.empty())
+ current_->AddChild(new XmlTextNode(cru::string::TrimEnd(text)));
}
}
diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt
index 93077388..4dfee0cb 100644
--- a/src/ui/CMakeLists.txt
+++ b/src/ui/CMakeLists.txt
@@ -79,4 +79,4 @@ add_library(CruUi
style/StyleRuleSet.cpp
)
target_compile_definitions(CruUi PRIVATE CRU_UI_EXPORT_API)
-target_link_libraries(CruUi PUBLIC CruPlatformGui CruXml)
+target_link_libraries(CruUi PUBLIC CruPlatformGui)
diff --git a/src/ui/ThemeResourceDictionary.cpp b/src/ui/ThemeResourceDictionary.cpp
index b9c7c284..9f734054 100644
--- a/src/ui/ThemeResourceDictionary.cpp
+++ b/src/ui/ThemeResourceDictionary.cpp
@@ -2,8 +2,8 @@
#include "cru/base/StringUtil.h"
#include "cru/base/io/CFileStream.h"
#include "cru/base/log/Logger.h"
-#include "cru/xml/XmlNode.h"
-#include "cru/xml/XmlParser.h"
+#include "cru/base/xml/XmlNode.h"
+#include "cru/base/xml/XmlParser.h"
namespace cru::ui {
diff --git a/src/ui/mapper/BorderStyleMapper.cpp b/src/ui/mapper/BorderStyleMapper.cpp
index fa3f672d..d4889457 100644
--- a/src/ui/mapper/BorderStyleMapper.cpp
+++ b/src/ui/mapper/BorderStyleMapper.cpp
@@ -3,7 +3,7 @@
#include "cru/platform/graphics/Brush.h"
#include "cru/ui/mapper/MapperRegistry.h"
#include "cru/ui/style/ApplyBorderStyleInfo.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
namespace cru::ui::mapper {
using namespace xml;
diff --git a/src/ui/mapper/BrushMapper.cpp b/src/ui/mapper/BrushMapper.cpp
index 81eb40a5..4f17bd12 100644
--- a/src/ui/mapper/BrushMapper.cpp
+++ b/src/ui/mapper/BrushMapper.cpp
@@ -5,7 +5,7 @@
#include "cru/platform/graphics/Brush.h"
#include "cru/platform/graphics/Factory.h"
#include "cru/ui/mapper/MapperRegistry.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
#include <memory>
diff --git a/src/ui/mapper/StringMapper.cpp b/src/ui/mapper/StringMapper.cpp
index 6f6b4546..24b79ff4 100644
--- a/src/ui/mapper/StringMapper.cpp
+++ b/src/ui/mapper/StringMapper.cpp
@@ -1,5 +1,5 @@
#include "cru/ui/mapper/StringMapper.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
namespace cru::ui::mapper {
StringMapper::StringMapper() { SetAllowedTags({"String"}); }
diff --git a/src/ui/mapper/ThicknessMapper.cpp b/src/ui/mapper/ThicknessMapper.cpp
index e6557689..2dc6efdc 100644
--- a/src/ui/mapper/ThicknessMapper.cpp
+++ b/src/ui/mapper/ThicknessMapper.cpp
@@ -1,6 +1,6 @@
#include "cru/ui/mapper/ThicknessMapper.h"
#include "cru/base/StringUtil.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
namespace cru::ui::mapper {
bool ThicknessMapper::XmlElementIsOfThisType(xml::XmlElementNode* node) {
diff --git a/src/ui/mapper/style/AndConditionMapper.cpp b/src/ui/mapper/style/AndConditionMapper.cpp
index c1b7e5e5..0b1fc008 100644
--- a/src/ui/mapper/style/AndConditionMapper.cpp
+++ b/src/ui/mapper/style/AndConditionMapper.cpp
@@ -3,7 +3,7 @@
#include "cru/ui/mapper/MapperRegistry.h"
#include "cru/ui/mapper/style/IConditionMapper.h"
#include "cru/ui/style/Condition.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
namespace cru::ui::mapper::style {
bool AndConditionMapper::XmlElementIsOfThisType(xml::XmlElementNode *node) {
diff --git a/src/ui/mapper/style/BorderStylerMapper.cpp b/src/ui/mapper/style/BorderStylerMapper.cpp
index e93a0af8..3deeed43 100644
--- a/src/ui/mapper/style/BorderStylerMapper.cpp
+++ b/src/ui/mapper/style/BorderStylerMapper.cpp
@@ -3,7 +3,7 @@
#include "cru/ui/mapper/MapperRegistry.h"
#include "cru/ui/style/ApplyBorderStyleInfo.h"
#include "cru/ui/style/Styler.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
namespace cru::ui::mapper::style {
using cru::ui::style::ApplyBorderStyleInfo;
diff --git a/src/ui/mapper/style/CheckedConditionMapper.cpp b/src/ui/mapper/style/CheckedConditionMapper.cpp
index aafc97a4..2d01b4bf 100644
--- a/src/ui/mapper/style/CheckedConditionMapper.cpp
+++ b/src/ui/mapper/style/CheckedConditionMapper.cpp
@@ -2,7 +2,7 @@
#include "cru/base/ClonablePtr.h"
#include "cru/base/StringUtil.h"
#include "cru/ui/style/Condition.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
namespace cru::ui::mapper::style {
bool CheckedConditionMapper::XmlElementIsOfThisType(xml::XmlElementNode* node) {
diff --git a/src/ui/mapper/style/ContentBrushStylerMapper.cpp b/src/ui/mapper/style/ContentBrushStylerMapper.cpp
index 027622fe..c5caab02 100644
--- a/src/ui/mapper/style/ContentBrushStylerMapper.cpp
+++ b/src/ui/mapper/style/ContentBrushStylerMapper.cpp
@@ -3,7 +3,7 @@
#include "cru/platform/graphics/Brush.h"
#include "cru/ui/mapper/MapperRegistry.h"
#include "cru/ui/style/Styler.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
namespace cru::ui::mapper::style {
ContentBrushStylerMapper::ContentBrushStylerMapper() {
diff --git a/src/ui/mapper/style/FocusConditionMapper.cpp b/src/ui/mapper/style/FocusConditionMapper.cpp
index b21ac250..26a5780d 100644
--- a/src/ui/mapper/style/FocusConditionMapper.cpp
+++ b/src/ui/mapper/style/FocusConditionMapper.cpp
@@ -2,7 +2,7 @@
#include "cru/base/ClonablePtr.h"
#include "cru/base/StringUtil.h"
#include "cru/ui/style/Condition.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
namespace cru::ui::mapper::style {
bool FocusConditionMapper::XmlElementIsOfThisType(xml::XmlElementNode* node) {
diff --git a/src/ui/mapper/style/NoConditionMapper.cpp b/src/ui/mapper/style/NoConditionMapper.cpp
index d38e187b..84cbf598 100644
--- a/src/ui/mapper/style/NoConditionMapper.cpp
+++ b/src/ui/mapper/style/NoConditionMapper.cpp
@@ -1,6 +1,6 @@
#include "cru/ui/mapper/style/NoConditionMapper.h"
#include "cru/base/ClonablePtr.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
namespace cru::ui::mapper::style {
bool NoConditionMapper::XmlElementIsOfThisType(xml::XmlElementNode* node) {
diff --git a/src/ui/mapper/style/OrConditionMapper.cpp b/src/ui/mapper/style/OrConditionMapper.cpp
index 9c983d83..98b4078d 100644
--- a/src/ui/mapper/style/OrConditionMapper.cpp
+++ b/src/ui/mapper/style/OrConditionMapper.cpp
@@ -3,7 +3,7 @@
#include "cru/ui/mapper/MapperRegistry.h"
#include "cru/ui/mapper/style/IConditionMapper.h"
#include "cru/ui/style/Condition.h"
-#include "cru/xml/XmlNode.h"
+#include "cru/base/xml/XmlNode.h"
namespace cru::ui::mapper::style {
bool OrConditionMapper::XmlElementIsOfThisType(xml::XmlElementNode *node) {
diff --git a/src/xml/CMakeLists.txt b/src/xml/CMakeLists.txt
deleted file mode 100644
index 5431d53d..00000000
--- a/src/xml/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-add_library(CruXml
- XmlNode.cpp
- XmlParser.cpp
-)
-target_compile_definitions(CruXml PRIVATE CRU_XML_EXPORT_API)
-target_link_libraries(CruXml PUBLIC CruBase)
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index cd51b2f3..22f66e40 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -17,6 +17,5 @@ endfunction()
add_subdirectory(base)
add_subdirectory(platform)
-add_subdirectory(xml)
add_subdirectory(toml)
add_subdirectory(ui)
diff --git a/test/base/CMakeLists.txt b/test/base/CMakeLists.txt
index 39895c3e..b36bbd23 100644
--- a/test/base/CMakeLists.txt
+++ b/test/base/CMakeLists.txt
@@ -6,6 +6,7 @@ add_executable(CruBaseTest
StringUtilTest.cpp
SubProcessTest.cpp
TimerTest.cpp
+ xml/ParserTest.cpp
)
target_link_libraries(CruBaseTest PRIVATE CruBase CruTestBase)
diff --git a/test/xml/ParserTest.cpp b/test/base/xml/ParserTest.cpp
index 0d3ab1d7..f7544f02 100644
--- a/test/xml/ParserTest.cpp
+++ b/test/base/xml/ParserTest.cpp
@@ -1,5 +1,5 @@
-#include "cru/xml/XmlNode.h"
-#include "cru/xml/XmlParser.h"
+#include "cru/base/xml/XmlNode.h"
+#include "cru/base/xml/XmlParser.h"
#include <catch2/catch_test_macros.hpp>
diff --git a/test/xml/CMakeLists.txt b/test/xml/CMakeLists.txt
deleted file mode 100644
index 07bfa52b..00000000
--- a/test/xml/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-add_executable(CruXmlTest
- ParserTest.cpp
-)
-target_link_libraries(CruXmlTest PRIVATE CruXml CruTestBase)
-
-cru_catch_discover_tests(CruXmlTest)