From cb62d2ee423ce7e10f4b6dd0127491e60f4cec83 Mon Sep 17 00:00:00 2001 From: Raquel Medina Date: Tue, 26 May 2020 01:41:35 +0200 Subject: block direct *Message objects creation Make constructors private for the *Message objects to ensure they are only created via factory. Bug-AGL: SPEC-3112 Signed-off-by: Raquel Medina Change-Id: I385775e7cc113aea792bfab4b7372e7b51c19f81 --- callmessage.h | 5 +++-- eventmessage.h | 7 ++++--- responsemessage.h | 10 +++------- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/callmessage.h b/callmessage.h index 41098bc..d08024e 100644 --- a/callmessage.h +++ b/callmessage.h @@ -23,8 +23,6 @@ class CallMessage : public Message { public: - CallMessage() = default; - bool createRequest(QString api, QString verb, QJsonValue parameter = "None"); bool isEvent() override @@ -46,6 +44,9 @@ class CallMessage : public Message private: QMap m_request; + + CallMessage() = default; + friend class MessageFactory; }; #endif // CALLMESSAGE_H diff --git a/eventmessage.h b/eventmessage.h index 41bf7b6..133574c 100644 --- a/eventmessage.h +++ b/eventmessage.h @@ -23,9 +23,7 @@ class EventMessage : public Message { public: - explicit EventMessage(QJsonDocument data); - - inline QString eventApi() const + inline QString eventApi() const { return m_event_api; } @@ -55,6 +53,9 @@ class EventMessage : public Message private: QString m_event_api, m_event_name; QJsonObject m_event_data; + + explicit EventMessage(QJsonDocument data); + friend class MessageFactory; }; #endif // EVENTMESSAGE_H diff --git a/responsemessage.h b/responsemessage.h index bac4296..304a6e3 100644 --- a/responsemessage.h +++ b/responsemessage.h @@ -22,14 +22,7 @@ class ResponseMessage : public Message { - - public: - //deprecated: - explicit ResponseMessage(QByteArray request = nullptr); - - explicit ResponseMessage(QJsonDocument data); - inline QString requestApi() const { return m_request["api"].toString(); @@ -85,6 +78,9 @@ class ResponseMessage : public Message unsigned int m_reply_callid; QJsonObject m_reply_data; QMap m_request; + + explicit ResponseMessage(QJsonDocument data); + friend class MessageFactory; }; #endif // RESPONSEMESSAGE_H -- cgit 1.2.3-korg