1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2024-11-08 00:37:15 +01:00

Include pending library.

This commit is contained in:
Sandu Liviu Catalin 2021-02-08 21:10:10 +02:00
parent 3d0ce183c6
commit c9dbd38255
7 changed files with 1208 additions and 0 deletions

View File

@ -0,0 +1,13 @@
// ------------------------------------------------------------------------------------------------
#include "Library/Utils/JSON.hpp"
// ------------------------------------------------------------------------------------------------
namespace SqMod {
// ================================================================================================
void Register_JSON(HSQUIRRELVM vm, Table & ns)
{
}
} // Namespace:: SqMod

View File

@ -0,0 +1,14 @@
#pragma once
// ------------------------------------------------------------------------------------------------
#include "Core/Utility.hpp"
// ------------------------------------------------------------------------------------------------
#define JSMN_HEADER
#include <jsmn.h>
// ------------------------------------------------------------------------------------------------
namespace SqMod {
} // Namespace:: SqMod

View File

@ -3,6 +3,7 @@ add_subdirectory(Fmt)
add_subdirectory(Squirrel) add_subdirectory(Squirrel)
add_subdirectory(SimpleIni) add_subdirectory(SimpleIni)
add_subdirectory(TinyDir) add_subdirectory(TinyDir)
add_subdirectory(JSMN)
set(BUILD_TESTING OFF CACHE INTERNAL "" FORCE) set(BUILD_TESTING OFF CACHE INTERNAL "" FORCE)
set(BUILD_SHARED_LIBS OFF CACHE INTERNAL "" FORCE) set(BUILD_SHARED_LIBS OFF CACHE INTERNAL "" FORCE)
add_subdirectory(MaxmindDB) add_subdirectory(MaxmindDB)

5
vendor/JSMN/CMakeLists.txt vendored Normal file
View File

@ -0,0 +1,5 @@
# Create the JSMN library
add_library(JSMN STATIC include/jsmn.h jsmn.c)
# Library includes
target_include_directories(JSMN PRIVATE ${CMAKE_CURRENT_LIST_DIR})
target_include_directories(JSMN PUBLIC ${CMAKE_CURRENT_LIST_DIR}/include)

1037
vendor/JSMN/include/jsmn.h vendored Normal file

File diff suppressed because it is too large Load Diff

137
vendor/JSMN/include/jsmn_defines.h vendored Normal file
View File

@ -0,0 +1,137 @@
#ifndef JSMN_DEFINES
#define JSMN_DEFINES
/*!
* If nothing is defined, the default definitions are JSMN_PARENT_LINKS and *
* JSMN_NEXT_SIBLING with a jsmntok field size of 4 bytes (unsigned int). *
* This will parse one json object in a buffer at a time and return after a *
* successful json object parse. To check if there is more data in the *
* buffer that hasn't been parsed, run jsmn_eof. !*/
/*! @def JSMN_PARENT_LINKS
* @brief Adds a parent field to the token
*
* This decreases the initial time required to parse a json buffer and
* simplifies the post-processing of token array by adding a link to the id of
* a token's parent.
* This is enabled by default and highly recommended.
*/
/*! @def JSMN_NEXT_SIBLING
* @brief Adds a next_sibling field to the token
*
* This simplifies the post-processing of token array by adding a link to the id
* of a token's next sibling.
* This is enabled by default and highly recommended.
*/
/*! @def JSMN_UTF8
* @brief Add UTF-8 functionality
*
* This allows for stricter parsing of json strings and also allows for the
* conversion of escaped characters (\uXXXX) to UTF-8 and back.
*/
/*! @def JSMN_LOW_MEMORY
* @brief Enables defintions that reduce jsmn's memory footprint for small
* devices and doesn't enable definitions that increase it's footprint.
*
* This enables definitions that reduce jsmn's memory footprint at the cost of
* CPU usage. This is useful for small devices that don't parse json objects
* often and have restrictive memory requirements.
*/
/*! @def JSMN_SHORT_TOKENS
* @brief Changes the tokens field size from a uint32_t to a uint16_t
*
* This reduces the jsmntok size by half by changing jsmntok field sizes
* from an unsigned int to an unsigned short. NOTE: This reduces the maximum
* possible json string length from 4,294,967,295 to 65,535 minus the size of
* jsmnerr.
*/
/*! @def JSMN_PERMISSIVE
* @brief Enables all PERMISSIVE definitions
*
* Enables JSMN_PERMISSIVE_KEY, JSMN_PERMISSIVE_PRIMITIVE, and
* JSMN_MULTIPLE_JSON
*/
/*! @def JSMN_PERMISSIVE_KEY
* @brief Allows PRIMITIVEs to be OBJECT KEYs
*/
/*! @def JSMN_PERMISSIVE_PRIMITIVE
* @brief Allows PRIMITIVEs to be any contiguous value
*
* This allows PRIMIVITEs to be any contiguous value that does not contain a
* character that has a special meaning to json (`{}[]",:`). NOTE: There is no
* validation of JSMN_PRI_MINUS, JSNM_PRI_DECIMAL, or JSMN_PRI_EXPONENT;
* everything is the base type JSMN_PRIMITIVE.
*/
/*! @def JSMN_MULTIPLE_JSON
* @brief Allows multiple json objects in a complete buffer
*
* This allows jsmn to parse multiple json objects in a single buffer.
* NOTE: If a single json object is malformed jsmn_parse will return with
* an error.
*/
/*! @def JSMN_MULTIPLE_JSON_FAIL
* @brief Fails if there is more than one json object in a buffer.
*/
#ifndef JSMN_API
# ifdef JSMN_STATIC
# define JSMN_API static
# else
# define JSMN_API extern
# endif
#endif
#ifndef JSMN_LOW_MEMORY
# ifndef JSMN_PARENT_LINKS
# define JSMN_PARENT_LINKS
# endif
# ifndef JSMN_NEXT_SIBLING
# define JSMN_NEXT_SIBLING
# endif
#else
# ifndef JSMN_SHORT_TOKENS
# define JSMN_SHORT_TOKENS
# endif
#endif
#ifdef JSMN_PERMISSIVE
# ifndef JSMN_PERMISSIVE_KEY
# define JSMN_PERMISSIVE_KEY
# endif
# ifndef JSMN_PERMISSIVE_PRIMITIVE
# define JSMN_PERMISSIVE_PRIMITIVE
# endif
# ifndef JSMN_MULTIPLE_JSON
# define JSMN_MULTIPLE_JSON
# endif
#endif
#ifdef JSMN_MULTIPLE_JSON_FAIL
# undef JSMN_MULTIPLE_JSON
#endif
#if (defined(__linux__) || defined(__APPLE__) || defined(ARDUINO))
# define JSMN_EXPORT __attribute__((visibility("default")))
# define JSMN_LOCAL __attribute__((visibility("hidden")))
#elif (defined(_WIN32))
# define JSMN_EXPORT __declspec(dllexport)
# define JSMN_LOCAL
#else
# define JSMN_EXPORT
# define JSMN_LOCAL
#endif
#endif /* JSMN_DEFINES */

1
vendor/JSMN/jsmn.c vendored Normal file
View File

@ -0,0 +1 @@
#include <jsmn.h>