1 /* 2 * Carla REST API Server 3 * Copyright (C) 2018 Filipe Coelho <falktx@falktx.com> 4 * 5 * This program is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU General Public License as 7 * published by the Free Software Foundation; either version 2 of 8 * the License, or any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * For a full copy of the GNU General Public License see the doc/GPL.txt file. 16 */ 17 18 #ifndef REST_BUFFERS_HPP_INCLUDED 19 #define REST_BUFFERS_HPP_INCLUDED 20 21 #include "CarlaDefines.h" 22 23 #ifdef CARLA_PROPER_CPP11_SUPPORT 24 # include <cstdint> 25 #else 26 # include <stdint.h> 27 #endif 28 29 // size buf 30 const char* size_buf(const char* const buf); 31 32 // base types 33 const char* str_buf_bool(const bool value); 34 const char* str_buf_float(const double value); 35 const char* str_buf_float_array(const double* const values, const char sep = '\n'); 36 const char* str_buf_string(const char* const string); 37 const char* str_buf_string_array(const char* const* const array); 38 const char* str_buf_string_quoted(const char* const string); 39 const char* str_buf_int(const int value); 40 const char* str_buf_int64(const int64_t value); 41 const char* str_buf_uint(const uint value); 42 const char* str_buf_uint64(const uint64_t value); 43 const char* str_buf_uint_array(const uint* const values, const char sep = '\n'); 44 45 // json 46 char* json_buf_start(); 47 char* json_buf_add_bool(char* jsonBufPtr, const char* const key, const bool value); 48 char* json_buf_add_float(char* jsonBufPtr, const char* const key, const double value); 49 char* json_buf_add_float_array(char* jsonBufPtr, const char* const key, const double* const values); 50 char* json_buf_add_string(char* jsonBufPtr, const char* const key, const char* const value); 51 char* json_buf_add_int(char* jsonBufPtr, const char* const key, const int value); 52 char* json_buf_add_int64(char* jsonBufPtr, const char* const key, const int64_t value); 53 char* json_buf_add_uint(char* jsonBufPtr, const char* const key, const uint value); 54 char* json_buf_add_uint64(char* jsonBufPtr, const char* const key, const uint64_t value); 55 char* json_buf_add_uint_array(char* jsonBufPtr, const char* const key, const uint* const values); 56 const char* json_buf_end(char* jsonBufPtr); 57 58 #endif // REST_BUFFERS_HPP_INCLUDED 59