~drizzle-trunk/drizzle/development

2295.1.1 by Brian Aker
Fix up stewart JSON patch.
1
/*  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
2
 * 
3
 *  JSON Library, originally from http://jsoncpp.sourceforge.net/
4
 *
5
 *  Copyright (C) 2011 Stewart Smith
6
 *  All rights reserved.
7
 *
8
 *  Redistribution and use in source and binary forms, with or without
9
 *  modification, are permitted provided that the following conditions are
10
 *  met:
11
 *
12
 *      * Redistributions of source code must retain the above copyright
13
 *  notice, this list of conditions and the following disclaimer.
14
 *
15
 *      * Redistributions in binary form must reproduce the above
16
 *  copyright notice, this list of conditions and the following disclaimer
17
 *  in the documentation and/or other materials provided with the
18
 *  distribution.
19
 *
20
 *      * The names of its contributors may not be used to endorse or
21
 *  promote products derived from this software without specific prior
22
 *  written permission.
23
 *
24
 *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25
 *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
26
 *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
27
 *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
28
 *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
29
 *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
30
 *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
31
 *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
32
 *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
33
 *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
34
 *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35
 *
36
 */
37
38
#pragma once
2283.4.3 by Stewart Smith
add JSON library to json_server, fix up for building in our tree, and add simple /0.1/version JSON response as well as latest_api_version snippet to /
39
#ifndef JSON_CONFIG_H_INCLUDED
40
# define JSON_CONFIG_H_INCLUDED
41
42
/// If defined, indicates that json library is embedded in CppTL library.
43
//# define JSON_IN_CPPTL 1
44
45
/// If defined, indicates that json may leverage CppTL library
46
//#  define JSON_USE_CPPTL 1
47
/// If defined, indicates that cpptl vector based map should be used instead of std::map
48
/// as Value container.
49
//#  define JSON_USE_CPPTL_SMALLMAP 1
50
/// If defined, indicates that Json specific container should be used
51
/// (hash table & simple deque container with customizable allocator).
52
/// THIS FEATURE IS STILL EXPERIMENTAL!
53
//#  define JSON_VALUE_USE_INTERNAL_MAP 1
54
/// Force usage of standard new/malloc based allocator instead of memory pool based allocator.
55
/// The memory pools allocator used optimization (initializing Value and ValueInternalLink
56
/// as if it was a POD) that may cause some validation tool to report errors.
57
/// Only has effects if JSON_VALUE_USE_INTERNAL_MAP is defined.
58
//#  define JSON_USE_SIMPLE_INTERNAL_ALLOCATOR 1
59
60
/// If defined, indicates that Json use exception to report invalid type manipulation
61
/// instead of C assert macro.
62
# define JSON_USE_EXCEPTION 1
63
64
# ifdef JSON_IN_CPPTL
65
#  include <cpptl/config.h>
66
#  ifndef JSON_USE_CPPTL
67
#   define JSON_USE_CPPTL 1
68
#  endif
69
# endif
70
71
# ifdef JSON_IN_CPPTL
72
#  define JSON_API CPPTL_API
73
# elif defined(JSON_DLL_BUILD)
74
#  define JSON_API __declspec(dllexport)
75
# elif defined(JSON_DLL)
76
#  define JSON_API __declspec(dllimport)
77
# else
78
#  define JSON_API
79
# endif
80
81
#endif // JSON_CONFIG_H_INCLUDED