From 15098c9e333c1347d5f8e9ab600df3ff1fa3af9d Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Tue, 2 Aug 2022 01:31:50 +0100 Subject: Don't use same name for consts as instances in the base --- icespider/core/exceptions.cpp | 5 +++++ icespider/core/exceptions.h | 11 +++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/icespider/core/exceptions.cpp b/icespider/core/exceptions.cpp index 83ab13a..8448a0b 100644 --- a/icespider/core/exceptions.cpp +++ b/icespider/core/exceptions.cpp @@ -1,5 +1,10 @@ #include "exceptions.h" +#define DefineHttpEx(Name, Code, Message) \ + Name::Name() : ::IceSpider::HttpException(__FILE__, __LINE__, CODE, MESSAGE) { } \ + const short Name::CODE(Code); \ + const std::string Name::MESSAGE(Message); + namespace IceSpider { DefineHttpEx(Http400_BadRequest, 400, "Bad Request"); DefineHttpEx(Http404_NotFound, 404, "Not found"); diff --git a/icespider/core/exceptions.h b/icespider/core/exceptions.h index 0f1d1e8..b82f1f3 100644 --- a/icespider/core/exceptions.h +++ b/icespider/core/exceptions.h @@ -9,13 +9,11 @@ class DLL_PUBLIC Name : public ::IceSpider::HttpException { \ public: \ Name(); \ - static const short code; \ - static const std::string message; \ +\ + private: \ + static const short CODE; \ + static const std::string MESSAGE; \ } -#define DefineHttpEx(Name, Code, Message) \ - Name::Name() : ::IceSpider::HttpException(__FILE__, __LINE__, code, message) { } \ - const short Name::code(Code); \ - const std::string Name::message(Message); namespace IceSpider { DeclareHttpEx(Http400_BadRequest); @@ -25,4 +23,5 @@ namespace IceSpider { DeclareHttpEx(Http415_UnsupportedMediaType); } +#undef DeclareHttpEx #endif -- cgit v1.2.3