mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			58 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| // ArduinoJson - https://arduinojson.org
 | |
| // Copyright Benoit Blanchon 2014-2021
 | |
| // MIT License
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <stddef.h>  // size_t
 | |
| 
 | |
| #include <ArduinoJson/Collection/CollectionData.hpp>
 | |
| #include <ArduinoJson/Numbers/Float.hpp>
 | |
| #include <ArduinoJson/Numbers/Integer.hpp>
 | |
| 
 | |
| namespace ARDUINOJSON_NAMESPACE {
 | |
| 
 | |
| enum {
 | |
|   VALUE_MASK = 0x7F,
 | |
| 
 | |
|   OWNED_VALUE_BIT = 0x01,
 | |
|   VALUE_IS_NULL = 0,
 | |
|   VALUE_IS_LINKED_RAW = 0x02,
 | |
|   VALUE_IS_OWNED_RAW = 0x03,
 | |
|   VALUE_IS_LINKED_STRING = 0x04,
 | |
|   VALUE_IS_OWNED_STRING = 0x05,
 | |
| 
 | |
|   // CAUTION: no OWNED_VALUE_BIT below
 | |
| 
 | |
|   VALUE_IS_BOOLEAN = 0x06,
 | |
| 
 | |
|   NUMBER_BIT = 0x08,
 | |
|   VALUE_IS_UNSIGNED_INTEGER = 0x08,
 | |
|   VALUE_IS_SIGNED_INTEGER = 0x0A,
 | |
|   VALUE_IS_FLOAT = 0x0C,
 | |
| 
 | |
|   COLLECTION_MASK = 0x60,
 | |
|   VALUE_IS_OBJECT = 0x20,
 | |
|   VALUE_IS_ARRAY = 0x40,
 | |
| 
 | |
|   OWNED_KEY_BIT = 0x80
 | |
| };
 | |
| 
 | |
| struct RawData {
 | |
|   const char *data;
 | |
|   size_t size;
 | |
| };
 | |
| 
 | |
| union VariantContent {
 | |
|   Float asFloat;
 | |
|   bool asBoolean;
 | |
|   UInt asUnsignedInteger;
 | |
|   Integer asSignedInteger;
 | |
|   CollectionData asCollection;
 | |
|   struct {
 | |
|     const char *data;
 | |
|     size_t size;
 | |
|   } asString;
 | |
| };
 | |
| }  // namespace ARDUINOJSON_NAMESPACE
 |