diff --git a/AUTHORS.md b/AUTHORS.md index c18f050f..381f7e4f 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -78,3 +78,7 @@ Trevor Vannoy Ranganathan Balakrishnan + add JSON NUMERIC data type to accept both real and integer values + +Evgeny Petrov ++ added data field for error handler ++ \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 45b92eeb..7a066f4f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). - Build example for Centos 7 (#267) - `Json::Value` example code (#281) - IPv6 Support for `HttpServer` (#275) +- Added data field in error handler in JS stub generator ### Fixed - Incorrect README sections (#280) diff --git a/dev/artwork/overview.dia b/dev/artwork/overview.dia index 6b7cb391..e42b2170 100644 --- a/dev/artwork/overview.dia +++ b/dev/artwork/overview.dia @@ -172,7 +172,7 @@ - #sepc.json + #spec.json { add() }# diff --git a/src/jsonrpccpp/client/connectors/filedescriptorclient.h b/src/jsonrpccpp/client/connectors/filedescriptorclient.h index 22f43692..cbce16d5 100644 --- a/src/jsonrpccpp/client/connectors/filedescriptorclient.h +++ b/src/jsonrpccpp/client/connectors/filedescriptorclient.h @@ -22,7 +22,7 @@ namespace jsonrpc virtual ~FileDescriptorClient(); virtual void SendRPCMessage(const std::string& message, std::string& result) ; - private: + protected: int inputfd; int outputfd; diff --git a/src/jsonrpccpp/client/connectors/httpclient.h b/src/jsonrpccpp/client/connectors/httpclient.h index 66859f13..a1d5562e 100644 --- a/src/jsonrpccpp/client/connectors/httpclient.h +++ b/src/jsonrpccpp/client/connectors/httpclient.h @@ -28,7 +28,7 @@ class HttpClient : public IClientConnector { void AddHeader(const std::string &attr, const std::string &val); void RemoveHeader(const std::string &attr); -private: +protected: std::map headers; std::string url; diff --git a/src/jsonrpccpp/client/connectors/linuxserialportclient.h b/src/jsonrpccpp/client/connectors/linuxserialportclient.h index 8a6c5d2d..cd5c3b71 100644 --- a/src/jsonrpccpp/client/connectors/linuxserialportclient.h +++ b/src/jsonrpccpp/client/connectors/linuxserialportclient.h @@ -40,7 +40,7 @@ namespace jsonrpc */ virtual void SendRPCMessage(const std::string& message, std::string& result) ; - private: + protected: int fd; std::string deviceName; /*!< The serial port device name on which the client should try to connect*/ /** diff --git a/src/jsonrpccpp/client/connectors/linuxtcpsocketclient.h b/src/jsonrpccpp/client/connectors/linuxtcpsocketclient.h index cd337c28..8df9eeba 100644 --- a/src/jsonrpccpp/client/connectors/linuxtcpsocketclient.h +++ b/src/jsonrpccpp/client/connectors/linuxtcpsocketclient.h @@ -39,7 +39,7 @@ namespace jsonrpc */ virtual void SendRPCMessage(const std::string& message, std::string& result) ; - private: + protected: std::string hostToConnect; /*!< The hostname or the ipv4 address on which the client should try to connect*/ unsigned int port; /*!< The port on which the client should try to connect*/ /** diff --git a/src/jsonrpccpp/client/connectors/redisclient.h b/src/jsonrpccpp/client/connectors/redisclient.h index 620ae0aa..00b9fa0c 100644 --- a/src/jsonrpccpp/client/connectors/redisclient.h +++ b/src/jsonrpccpp/client/connectors/redisclient.h @@ -67,7 +67,7 @@ namespace jsonrpc */ void SetTimeout(long timeout); - private: + protected: /** * @brief Queue that we are messaging diff --git a/src/jsonrpccpp/client/connectors/tcpsocketclient.h b/src/jsonrpccpp/client/connectors/tcpsocketclient.h index 9002e448..8388d332 100644 --- a/src/jsonrpccpp/client/connectors/tcpsocketclient.h +++ b/src/jsonrpccpp/client/connectors/tcpsocketclient.h @@ -47,7 +47,7 @@ namespace jsonrpc */ virtual void SendRPCMessage(const std::string& message, std::string& result) ; - private: + protected: IClientConnector *realSocket; /*!< A pointer to the real implementation of this class depending of running OS*/ }; diff --git a/src/jsonrpccpp/client/connectors/unixdomainsocketclient.h b/src/jsonrpccpp/client/connectors/unixdomainsocketclient.h index 2e2ccc09..055c9df1 100644 --- a/src/jsonrpccpp/client/connectors/unixdomainsocketclient.h +++ b/src/jsonrpccpp/client/connectors/unixdomainsocketclient.h @@ -22,7 +22,7 @@ namespace jsonrpc virtual ~UnixDomainSocketClient(); virtual void SendRPCMessage(const std::string& message, std::string& result) ; - private: + protected: std::string path; }; diff --git a/src/jsonrpccpp/client/connectors/windowstcpsocketclient.h b/src/jsonrpccpp/client/connectors/windowstcpsocketclient.h index 2a7e0031..c4f0288a 100644 --- a/src/jsonrpccpp/client/connectors/windowstcpsocketclient.h +++ b/src/jsonrpccpp/client/connectors/windowstcpsocketclient.h @@ -42,7 +42,7 @@ namespace jsonrpc */ virtual void SendRPCMessage(const std::string& message, std::string& result) ; - private: + protected: std::string hostToConnect; /*!< The hostname or the ipv4 address on which the client should try to connect*/ unsigned int port; /*!< The port on which the client should try to connect*/ /** diff --git a/src/jsonrpccpp/server/connectors/filedescriptorserver.h b/src/jsonrpccpp/server/connectors/filedescriptorserver.h index a01f3c1d..e9dbbbfb 100644 --- a/src/jsonrpccpp/server/connectors/filedescriptorserver.h +++ b/src/jsonrpccpp/server/connectors/filedescriptorserver.h @@ -38,7 +38,7 @@ class FileDescriptorServer : public AbstractThreadedServer { virtual int CheckForConnection(); virtual void HandleConnection(int connection); -private: +protected: int inputfd; int outputfd; StreamReader reader; diff --git a/src/jsonrpccpp/server/connectors/linuxserialportserver.h b/src/jsonrpccpp/server/connectors/linuxserialportserver.h index 2376853d..6ddd3421 100644 --- a/src/jsonrpccpp/server/connectors/linuxserialportserver.h +++ b/src/jsonrpccpp/server/connectors/linuxserialportserver.h @@ -45,7 +45,7 @@ class LinuxSerialPortServer : public AbstractThreadedServer { virtual int CheckForConnection(); virtual void HandleConnection(int connection); -private: +protected: std::string deviceName; int serial_fd; diff --git a/src/jsonrpccpp/server/connectors/linuxtcpsocketserver.h b/src/jsonrpccpp/server/connectors/linuxtcpsocketserver.h index 9a03f34b..05202cd4 100644 --- a/src/jsonrpccpp/server/connectors/linuxtcpsocketserver.h +++ b/src/jsonrpccpp/server/connectors/linuxtcpsocketserver.h @@ -46,7 +46,7 @@ class LinuxTcpSocketServer : public AbstractThreadedServer { virtual int CheckForConnection(); virtual void HandleConnection(int connection); -private: +protected: std::string ipToBind; unsigned int port; int socket_fd; diff --git a/src/jsonrpccpp/server/connectors/redisserver.h b/src/jsonrpccpp/server/connectors/redisserver.h index 61984946..bdc8627a 100644 --- a/src/jsonrpccpp/server/connectors/redisserver.h +++ b/src/jsonrpccpp/server/connectors/redisserver.h @@ -60,8 +60,8 @@ namespace jsonrpc * @return A boolean that indicates the success or the failure of the operation. */ bool SendResponse(const std::string& response, const std::string& ret_queue); - - private: + + protected: /** * Callback for listening thread to start ListenLoop. @@ -79,7 +79,7 @@ namespace jsonrpc */ void ListenLoop(); - private: + /** * @brief Keeps track of whether the server is running. diff --git a/src/jsonrpccpp/server/connectors/tcpsocketserver.h b/src/jsonrpccpp/server/connectors/tcpsocketserver.h index f6ffdc25..d3b89067 100644 --- a/src/jsonrpccpp/server/connectors/tcpsocketserver.h +++ b/src/jsonrpccpp/server/connectors/tcpsocketserver.h @@ -67,7 +67,7 @@ class TcpSocketServer : public AbstractServerConnector { */ bool StopListening(); -private: +protected: AbstractServerConnector *realSocket; }; diff --git a/src/jsonrpccpp/server/connectors/unixdomainsocketserver.h b/src/jsonrpccpp/server/connectors/unixdomainsocketserver.h index 2ae9afb8..8a5c3287 100644 --- a/src/jsonrpccpp/server/connectors/unixdomainsocketserver.h +++ b/src/jsonrpccpp/server/connectors/unixdomainsocketserver.h @@ -42,7 +42,7 @@ class UnixDomainSocketServer : public AbstractThreadedServer { virtual int CheckForConnection(); virtual void HandleConnection(int connection); -private: +protected: std::string socket_path; int socket_fd; struct sockaddr_un address; diff --git a/src/jsonrpccpp/server/connectors/windowstcpsocketserver.h b/src/jsonrpccpp/server/connectors/windowstcpsocketserver.h index 7a8060c4..1940e65a 100644 --- a/src/jsonrpccpp/server/connectors/windowstcpsocketserver.h +++ b/src/jsonrpccpp/server/connectors/windowstcpsocketserver.h @@ -70,7 +70,7 @@ namespace jsonrpc */ bool SendResponse(const std::string& response, void* addInfo = NULL); - private: + protected: bool running; /*!< A boolean that is used to know the listening state*/ std::string ipToBind; /*!< The ipv4 address on which the server should bind and listen*/ unsigned int port; /*!< The port on which the server should bind and listen*/ diff --git a/src/stubgenerator/client/jsclientstubgenerator.cpp b/src/stubgenerator/client/jsclientstubgenerator.cpp index f038caf3..5e3b0fcf 100644 --- a/src/stubgenerator/client/jsclientstubgenerator.cpp +++ b/src/stubgenerator/client/jsclientstubgenerator.cpp @@ -39,7 +39,7 @@ using namespace std; callback_success(response.id, response.result);\n\ } else if (response.hasOwnProperty(\"error\")) {\n\ if (callback_error != null)\n\ - callback_error(response.error.code,response.error.message);\n\ + callback_error(response.error.code,response.error.message,response.error.data);\n\ } else {\n\ if (callback_error != null)\n\ callback_error(-32001, \"Invalid Server response: \" + response);\n\