From 1a8cffddf383872b84d0df9acef5662e02189f2b Mon Sep 17 00:00:00 2001 From: rtk0c Date: Mon, 27 Jun 2022 00:15:35 +0000 Subject: (From git) Update code style, misc clean up git-svn-id: file:///home/arch/svn/epistmool/trunk@6 71f44415-077c-4ad7-a976-72ddbf76608f --- .../source/EpistmoolServer/Protocol/Command.cpp | 82 +++++++++++++++++---- .../source/EpistmoolServer/Protocol/Command.hpp | 84 ++++++++++++++++++---- .../source/EpistmoolServer/Protocol/Error.hpp | 3 +- server-v1/source/EpistmoolServer/Protocol/fwd.hpp | 4 +- 4 files changed, 144 insertions(+), 29 deletions(-) (limited to 'server-v1/source/EpistmoolServer/Protocol') diff --git a/server-v1/source/EpistmoolServer/Protocol/Command.cpp b/server-v1/source/EpistmoolServer/Protocol/Command.cpp index a108e0e..3e76b9c 100644 --- a/server-v1/source/EpistmoolServer/Protocol/Command.cpp +++ b/server-v1/source/EpistmoolServer/Protocol/Command.cpp @@ -7,7 +7,7 @@ using namespace Epistmool::Server; namespace { -auto kKindTraits = []() { +const auto kKindTraits = []() { using enum ProtocolMessage::Kind; std::array(KindCOUNT)> array; @@ -15,7 +15,6 @@ auto kKindTraits = []() { array[SessionDestroy] = { .isC2S = true, .hasReply = true }; array[WorkspaceCreate] = { .isC2S = true, .hasReply = true }; - array[WorkspaceOpen] = { .isC2S = true, .hasReply = true }; array[WorkspaceFetchIndex] = { .isC2S = true, .hasReply = true }; array[WorkspaceFetchKnowledge] = { .isC2S = true, .hasReply = true }; @@ -39,11 +38,10 @@ std::unique_ptr ProtocolMessage::createRequest(Kind kind) { switch(kind) { case SessionAuth: return std::make_unique(); - case SessionDestroy: return nullptr; + case SessionDestroy: return std::make_unique(); case WorkspaceCreate: return nullptr; - case WorkspaceOpen: return nullptr; - case WorkspaceFetchIndex: return nullptr; + case WorkspaceFetchIndex: return std::make_unique(); case WorkspaceFetchKnowledge: return nullptr; case WorkspaceUpdateKnowledge: return nullptr; @@ -55,7 +53,7 @@ std::unique_ptr ProtocolMessage::createRequest(Kind kind) case WorkspaceCreateKeyword: return nullptr; case WorkspaceDeleteKeyword: return nullptr; - case NotificationWorkspaceUpdated: return nullptr; + case NotificationWorkspaceUpdated: return std::make_unique(); case NotificationKnowledgeUpdated: return nullptr; default: return nullptr; @@ -66,11 +64,10 @@ std::unique_ptr ProtocolMessage::createReply(Kind kind) { switch(kind) { case SessionAuth: return std::make_unique(); - case SessionDestroy: return nullptr; + case SessionDestroy: return std::make_unique(); case WorkspaceCreate: return nullptr; - case WorkspaceOpen: return nullptr; - case WorkspaceFetchIndex: return nullptr; + case WorkspaceFetchIndex: return std::make_unique(); case WorkspaceFetchKnowledge: return nullptr; case WorkspaceUpdateKnowledge: return nullptr; @@ -172,14 +169,12 @@ ProtocolRequest_SessionAuth::ProtocolRequest_SessionAuth() void ProtocolRequest_SessionAuth::serializeFields(QJsonObject& object) const { - ProtocolRequest::serializeFields(object); object.insert("session", theSession); object.insert("createIfInvalid", createIfInvalid); } void ProtocolRequest_SessionAuth::deserializeFields(const QJsonObject& object) { - ProtocolRequest::deserializeFields(object); theSession = object.value("session").toInt(); createIfInvalid = object.value("createIfInvalid").toBool(); } @@ -189,12 +184,73 @@ ProtocolReply_SessionAuth::ProtocolReply_SessionAuth() void ProtocolReply_SessionAuth::serializeFields(QJsonObject& object) const { - ProtocolReply::serializeFields(object); object.insert("session", theSession); } void ProtocolReply_SessionAuth::deserializeFields(const QJsonObject& object) { - ProtocolReply::deserializeFields(object); theSession = object.value("session").toInt(); } + +ProtocolRequest_SessionDestroy::ProtocolRequest_SessionDestroy() + : ProtocolRequest(SessionDestroy) {} + +void ProtocolRequest_SessionDestroy::serializeFields(QJsonObject& object) const +{ +} + +void ProtocolRequest_SessionDestroy::deserializeFields(const QJsonObject& object) +{ +} + +ProtocolReply_SessionDestroy::ProtocolReply_SessionDestroy() + : ProtocolReply(SessionDestroy) {} + +void ProtocolReply_SessionDestroy::serializeFields(QJsonObject& object) const +{ +} + +void ProtocolReply_SessionDestroy::deserializeFields(const QJsonObject& object) +{ +} + +ProtocolRequest_WorkspaceFetchIndex::ProtocolRequest_WorkspaceFetchIndex() + : ProtocolRequest(WorkspaceFetchIndex) {} + +void ProtocolRequest_WorkspaceFetchIndex::serializeFields(QJsonObject& object) const +{ + object.insert("knowledgeFilter", knowledgeFilter); + object.insert("knowledgeMaxCount", knowledgeMaxCount); + object.insert("keywordFilter", keywordFilter); + object.insert("keywordMaxCount", keywordMaxCount); +} + +void ProtocolRequest_WorkspaceFetchIndex::deserializeFields(const QJsonObject& object) +{ + knowledgeFilter = object.value("knowledgeFilter").toString(); + knowledgeMaxCount = object.value("knowledgeMaxCount").toInt(); + keywordFilter = object.value("keywordFilter").toString(); + keywordMaxCount = object.value("keywordMaxCount").toInt(); +} + +ProtocolReply_WorkspaceFetchIndex::ProtocolReply_WorkspaceFetchIndex() + : ProtocolReply(WorkspaceFetchIndex) {} + +void ProtocolReply_WorkspaceFetchIndex::serializeFields(QJsonObject& object) const +{ +} + +void ProtocolReply_WorkspaceFetchIndex::deserializeFields(const QJsonObject& object) +{ +} + +ProtocolNotification_WorkspaceUpdate::ProtocolNotification_WorkspaceUpdate() + : ProtocolRequest(NotificationWorkspaceUpdated) {} + +void ProtocolNotification_WorkspaceUpdate::serializeFields(QJsonObject& object) const +{ +} + +void ProtocolNotification_WorkspaceUpdate::deserializeFields(const QJsonObject& object) +{ +} diff --git a/server-v1/source/EpistmoolServer/Protocol/Command.hpp b/server-v1/source/EpistmoolServer/Protocol/Command.hpp index 9ec9786..6d6ecd6 100644 --- a/server-v1/source/EpistmoolServer/Protocol/Command.hpp +++ b/server-v1/source/EpistmoolServer/Protocol/Command.hpp @@ -3,6 +3,7 @@ #include "all_fwd.hpp" #include +#include #include #include #include @@ -17,19 +18,16 @@ class ProtocolMessage Q_GADGET public: - struct KindTrait - { + struct KindTrait { bool isC2S; bool hasReply; }; - enum Kind - { + enum Kind { SessionAuth, SessionDestroy, WorkspaceCreate, - WorkspaceOpen, WorkspaceFetchIndex, WorkspaceFetchKnowledge, @@ -53,8 +51,7 @@ public: static std::unique_ptr createReply(Kind kind); static const KindTrait& getKindTrait(Kind kind); - enum Variant - { + enum Variant { RequestVariant, ReplyVariant, }; @@ -73,15 +70,17 @@ protected: virtual void deserializeFields(const QJsonObject& object) = 0; }; -struct ProtocolRequest : public ProtocolMessage +class ProtocolRequest : public ProtocolMessage { +public: ProtocolRequest(Kind kind); static QJsonObject serialize(const ProtocolRequest& msg); static std::unique_ptr deserialize(const QJsonObject& object); }; -struct ProtocolReply : public ProtocolMessage +class ProtocolReply : public ProtocolMessage { +public: int sequence; ProtocolReply(Kind kind); @@ -92,8 +91,9 @@ struct ProtocolReply : public ProtocolMessage // =========================== // Individual messages classes -struct ProtocolRequest_SessionAuth : public ProtocolRequest +class ProtocolRequest_SessionAuth : public ProtocolRequest { +public: int theSession; bool createIfInvalid; @@ -104,8 +104,9 @@ protected: virtual void deserializeFields(const QJsonObject& object) override; }; -struct ProtocolReply_SessionAuth : public ProtocolReply +class ProtocolReply_SessionAuth : public ProtocolReply { +public: /// The same value as provided in the request message. /// If \l ProcotolCommandSessionAuth::createIfValid is set and the given session is invalid, a new session is created and written here instead of the original value. int theSession; @@ -117,8 +118,67 @@ protected: virtual void deserializeFields(const QJsonObject& object) override; }; -struct ProtocolNotification_WorkspaceUpdate : public ProtocolRequest +class ProtocolRequest_SessionDestroy : public ProtocolRequest +{ +public: + // TODO + + ProtocolRequest_SessionDestroy(); + +protected: + virtual void serializeFields(QJsonObject& object) const override; + virtual void deserializeFields(const QJsonObject& object) override; +}; + +class ProtocolReply_SessionDestroy : public ProtocolReply +{ +public: + // TODO + + ProtocolReply_SessionDestroy(); + +protected: + virtual void serializeFields(QJsonObject& object) const override; + virtual void deserializeFields(const QJsonObject& object) override; +}; + +class ProtocolRequest_WorkspaceFetchIndex : public ProtocolRequest +{ +public: + QString knowledgeFilter; + QString keywordFilter; + int knowledgeMaxCount; + int keywordMaxCount; + + ProtocolRequest_WorkspaceFetchIndex(); + +protected: + virtual void serializeFields(QJsonObject& object) const override; + virtual void deserializeFields(const QJsonObject& object) override; +}; + +class ProtocolReply_WorkspaceFetchIndex : public ProtocolReply { +public: + // TODO + + ProtocolReply_WorkspaceFetchIndex(); + +protected: + virtual void serializeFields(QJsonObject& object) const override; + virtual void deserializeFields(const QJsonObject& object) override; +}; + +class ProtocolNotification_WorkspaceUpdate : public ProtocolRequest +{ +public: + // TODO + + ProtocolNotification_WorkspaceUpdate(); + +protected: + virtual void serializeFields(QJsonObject& object) const override; + virtual void deserializeFields(const QJsonObject& object) override; }; } // namespace Epistmool::Server diff --git a/server-v1/source/EpistmoolServer/Protocol/Error.hpp b/server-v1/source/EpistmoolServer/Protocol/Error.hpp index 1ddedf9..43bbd62 100644 --- a/server-v1/source/EpistmoolServer/Protocol/Error.hpp +++ b/server-v1/source/EpistmoolServer/Protocol/Error.hpp @@ -6,8 +6,7 @@ #include namespace Epistmool::Server { -struct ProtocolError -{ +struct ProtocolError { QVersionNumber since; QLatin1String name; }; diff --git a/server-v1/source/EpistmoolServer/Protocol/fwd.hpp b/server-v1/source/EpistmoolServer/Protocol/fwd.hpp index adf8138..9ec40fb 100644 --- a/server-v1/source/EpistmoolServer/Protocol/fwd.hpp +++ b/server-v1/source/EpistmoolServer/Protocol/fwd.hpp @@ -4,8 +4,8 @@ namespace Epistmool::Server{ // Command.hpp class ProtocolMessage; -struct ProtocolRequest; -struct ProtocolReply; +class ProtocolRequest; +class ProtocolReply; // Error.hpp struct ProtocolError; -- cgit v1.2.3-70-g09d2