// // Created by mingj on 2020/5/31. // #ifndef MIRCERTIFICATIONMANAGER_BASEREQUESTMESSAGE_H #define MIRCERTIFICATIONMANAGER_BASEREQUESTMESSAGE_H #include #include #include class BaseRequestMessage { public: static const int ADD_OR_UPDATE_CERTIFICATE; static const int REMOVE_CERTIFICATE; static const int GET_CERTIFICATE_LIFETIME; static const int EXISTS_CERTIFICATE; int getCode() const { return code; } std::string getTimestamp() const { return timestamp; } virtual BaseRequestMessage *parse(const std::string &jsonStr) {}; virtual std::string getErrorMessage(int responseCode) {}; // static BaseRequestMessage parse(const std::string &jsonStr) { // Json::Reader reader; // Json::Value root; // reader.parse(jsonStr, root); // // int code = root["code"].asInt(); // switch (code) { // case 1: // AddOrUpdateCertificateRequestData addOrUpdateCertificateRequestData; // addOrUpdateCertificateRequestData.certStr = root["data"]["certStr"].asString(); // addOrUpdateCertificateRequestData.lifetime = root["data"]["lifetime"].asUInt64(); // addOrUpdateCertificateRequestData.forceUpdate = root["data"]["forceUpdate"].asBool(); // return BaseRequestMessage(code, AddOrUpdateCertificateRequestData()); // case 2: // RemoveCertificateRequestData removeCertificateRequestData; // removeCertificateRequestData.certStr = root["data"]["certStr"].asString(); // return BaseRequestMessage(code, removeCertificateRequestData); // case 3: // GetCertificateLifetimeRequestData getCertificateLifetimeRequestData; // getCertificateLifetimeRequestData.certStr = root["data"]["certStr"].asString(); // return BaseRequestMessage(code, getCertificateLifetimeRequestData); // case 4: // ExistsCertificateRequestData existsCertificateRequestData; // existsCertificateRequestData.certStr = root["data"]["certStr"].asString(); // return BaseRequestMessage(code, existsCertificateRequestData); // default: // return BaseRequestMessage(code, ""); // } // } protected: int code{0}; std::string timestamp = ""; }; const int BaseRequestMessage::ADD_OR_UPDATE_CERTIFICATE = 1; const int BaseRequestMessage::REMOVE_CERTIFICATE = 2; const int BaseRequestMessage::GET_CERTIFICATE_LIFETIME = 3; const int BaseRequestMessage::EXISTS_CERTIFICATE = 4; #endif //MIRCERTIFICATIONMANAGER_BASEREQUESTMESSAGE_H