aboutsummaryrefslogtreecommitdiff
path: root/include
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 /include
parentf48505c96a70e2f1d1982fea30f3015e42fcd49d (diff)
downloadcru-1a6111e3f02b0a9cff0f81fb524b4dfb7d69854b.tar.gz
cru-1a6111e3f02b0a9cff0f81fb524b4dfb7d69854b.tar.bz2
cru-1a6111e3f02b0a9cff0f81fb524b4dfb7d69854b.zip
Move xml to base.
Diffstat (limited to 'include')
-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
15 files changed, 26 insertions, 58 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