mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-05-03 07:35:53 +08:00
Ref T516 CStatusMessage constructors for UTF-16 string literals.
This commit is contained in:
@@ -113,17 +113,38 @@ namespace BlackMisc
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CStatusMessage::CStatusMessage(QStringView message) : ITimestampBased(QDateTime::currentMSecsSinceEpoch())
|
||||||
|
{
|
||||||
|
m_message = CStrongStringView(message.trimmed());
|
||||||
|
}
|
||||||
|
|
||||||
CStatusMessage::CStatusMessage(const QString &message) : ITimestampBased(QDateTime::currentMSecsSinceEpoch())
|
CStatusMessage::CStatusMessage(const QString &message) : ITimestampBased(QDateTime::currentMSecsSinceEpoch())
|
||||||
{
|
{
|
||||||
m_message = message.trimmed();
|
m_message = message.trimmed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CStatusMessage::CStatusMessage(StatusSeverity severity, QStringView message)
|
||||||
|
: CStatusMessage(message)
|
||||||
|
{
|
||||||
|
m_severity = severity;
|
||||||
|
}
|
||||||
|
|
||||||
CStatusMessage::CStatusMessage(StatusSeverity severity, const QString &message)
|
CStatusMessage::CStatusMessage(StatusSeverity severity, const QString &message)
|
||||||
: CStatusMessage(message)
|
: CStatusMessage(message)
|
||||||
{
|
{
|
||||||
m_severity = severity;
|
m_severity = severity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CStatusMessage::CStatusMessage(const CLogCategoryList &categories, StatusSeverity severity, QStringView message, bool validation)
|
||||||
|
: CStatusMessage(severity, message)
|
||||||
|
{
|
||||||
|
m_categories = categories;
|
||||||
|
if (validation)
|
||||||
|
{
|
||||||
|
this->addValidationCategory();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
CStatusMessage::CStatusMessage(const CLogCategoryList &categories, StatusSeverity severity, const QString &message, bool validation)
|
CStatusMessage::CStatusMessage(const CLogCategoryList &categories, StatusSeverity severity, const QString &message, bool validation)
|
||||||
: CStatusMessage(severity, message)
|
: CStatusMessage(severity, message)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -67,6 +67,9 @@ namespace BlackMisc
|
|||||||
//! Construct from a QString.
|
//! Construct from a QString.
|
||||||
CStrongStringView(const QString &string) : m_string(string), m_view(m_string) {}
|
CStrongStringView(const QString &string) : m_string(string), m_view(m_string) {}
|
||||||
|
|
||||||
|
//! Construct from a QStringView. Explicit because it could be dangerous if used without care.
|
||||||
|
explicit CStrongStringView(QStringView view) : m_view(view) {}
|
||||||
|
|
||||||
//! Deleted constructor.
|
//! Deleted constructor.
|
||||||
CStrongStringView(const char *) = delete;
|
CStrongStringView(const char *) = delete;
|
||||||
|
|
||||||
@@ -340,13 +343,29 @@ namespace BlackMisc
|
|||||||
~CStatusMessage() = default;
|
~CStatusMessage() = default;
|
||||||
|
|
||||||
//! Constructor
|
//! Constructor
|
||||||
|
//! @{
|
||||||
|
template <size_t N>
|
||||||
|
CStatusMessage(const char16_t (&message)[N]) : CStatusMessage(QStringView(message)) {}
|
||||||
CStatusMessage(const QString &message);
|
CStatusMessage(const QString &message);
|
||||||
|
template <size_t N>
|
||||||
//! Constructor
|
CStatusMessage(StatusSeverity severity, const char16_t (&message)[N]) : CStatusMessage(severity, QStringView(message)) {}
|
||||||
CStatusMessage(StatusSeverity severity, const QString &message);
|
CStatusMessage(StatusSeverity severity, const QString &message);
|
||||||
|
//! @}
|
||||||
|
|
||||||
//! Constructor, also a validation messsage can be directly created
|
//! Constructor, also a validation messsage can be directly created
|
||||||
|
//! @{
|
||||||
|
template <size_t N>
|
||||||
|
CStatusMessage(const CLogCategoryList &categories, StatusSeverity severity, const char16_t (&message)[N], bool validation = false) : CStatusMessage(categories, severity, QStringView(message), validation) {}
|
||||||
CStatusMessage(const CLogCategoryList &categories, StatusSeverity severity, const QString &message, bool validation = false);
|
CStatusMessage(const CLogCategoryList &categories, StatusSeverity severity, const QString &message, bool validation = false);
|
||||||
|
//! @}
|
||||||
|
|
||||||
|
//! Deleted constructor, to prevent inefficient construction from byte string literal.
|
||||||
|
//! Explicit so as to avoid ambiguities with functions overloaded on QString and CStatusMessage.
|
||||||
|
//! @{
|
||||||
|
explicit CStatusMessage(const char *message) = delete;
|
||||||
|
explicit CStatusMessage(StatusSeverity severity, const char *message) = delete;
|
||||||
|
explicit CStatusMessage(const CLogCategoryList &categories, StatusSeverity severity, const char *message, bool validation = false) = delete;
|
||||||
|
//! @}
|
||||||
|
|
||||||
//! Construct from a Qt logging triple
|
//! Construct from a Qt logging triple
|
||||||
//! \sa QtMessageHandler
|
//! \sa QtMessageHandler
|
||||||
@@ -491,6 +510,10 @@ namespace BlackMisc
|
|||||||
static void registerMetadata();
|
static void registerMetadata();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
CStatusMessage(QStringView message);
|
||||||
|
CStatusMessage(StatusSeverity severity, QStringView message);
|
||||||
|
CStatusMessage(const CLogCategoryList &categories, StatusSeverity severity, QStringView message, bool validation);
|
||||||
|
|
||||||
mutable QVector<quintptr> m_handledByObjects;
|
mutable QVector<quintptr> m_handledByObjects;
|
||||||
mutable QReadWriteLock m_lock; //!< lock (because of mutable members)
|
mutable QReadWriteLock m_lock; //!< lock (because of mutable members)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user