aboutsummaryrefslogtreecommitdiffstats
path: root/src/core/model/GFBuffer.cpp
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2023-12-24 06:55:40 +0000
committersaturneric <[email protected]>2023-12-24 06:55:40 +0000
commit8f1844b23ea137e645800c8ed0ec5a50f33787fe (patch)
tree31ee73588483de365654f638478ccb7a11c0a188 /src/core/model/GFBuffer.cpp
parentfix: test the initialization of gui application (diff)
downloadGpgFrontend-8f1844b23ea137e645800c8ed0ec5a50f33787fe.tar.gz
GpgFrontend-8f1844b23ea137e645800c8ed0ec5a50f33787fe.zip
fix: test the encrypt async api on gui app
Diffstat (limited to 'src/core/model/GFBuffer.cpp')
-rw-r--r--src/core/model/GFBuffer.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/core/model/GFBuffer.cpp b/src/core/model/GFBuffer.cpp
index 99154bdd..379873c1 100644
--- a/src/core/model/GFBuffer.cpp
+++ b/src/core/model/GFBuffer.cpp
@@ -35,7 +35,7 @@ GFBuffer::GFBuffer()
GFBuffer::GFBuffer(const std::string& str)
: buffer_(SecureCreateSharedObject<std::vector<std::byte>>()) {
- std::transform(str.begin(), str.end(), buffer_->begin(),
+ std::transform(str.begin(), str.end(), std::back_inserter(*buffer_),
[](const char c) { return static_cast<std::byte>(c); });
}
@@ -53,10 +53,17 @@ GFBuffer::GFBuffer(const char* c_str)
GFBuffer::GFBuffer(QByteArray buffer)
: buffer_(SecureCreateSharedObject<std::vector<std::byte>>()) {
- std::transform(buffer.begin(), buffer.end(), buffer_->begin(),
+ std::transform(buffer.begin(), buffer.end(), std::back_inserter(*buffer_),
[](const char c) { return static_cast<std::byte>(c); });
}
+GFBuffer::GFBuffer(QString str)
+ : buffer_(SecureCreateSharedObject<std::vector<std::byte>>()) {
+ std::transform(
+ str.begin(), str.end(), std::back_inserter(*buffer_),
+ [](const QChar c) { return static_cast<std::byte>(c.unicode()); });
+}
+
auto GFBuffer::operator==(const GFBuffer& o) const -> bool {
return equal(buffer_->begin(), buffer_->end(), o.buffer_->begin());
}
@@ -67,4 +74,8 @@ void GFBuffer::Resize(size_t size) { buffer_->resize(size); }
auto GFBuffer::Size() -> size_t { return buffer_->size(); }
+auto GFBuffer::ConvertToQByteArray() -> QByteArray {
+ return QByteArray::fromRawData(reinterpret_cast<const char*>(Data()),
+ static_cast<qsizetype>(Size()));
+}
} // namespace GpgFrontend \ No newline at end of file