aboutsummaryrefslogtreecommitdiff
path: root/lib/jsoncpp/doc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/jsoncpp/doc')
-rw-r--r--lib/jsoncpp/doc/doxyfile.in232
-rw-r--r--lib/jsoncpp/doc/footer.html23
-rw-r--r--lib/jsoncpp/doc/header.html24
-rw-r--r--lib/jsoncpp/doc/jsoncpp.dox97
-rw-r--r--lib/jsoncpp/doc/readme.txt1
-rw-r--r--lib/jsoncpp/doc/roadmap.dox35
-rw-r--r--lib/jsoncpp/doc/sconscript61
7 files changed, 473 insertions, 0 deletions
diff --git a/lib/jsoncpp/doc/doxyfile.in b/lib/jsoncpp/doc/doxyfile.in
new file mode 100644
index 0000000000..f19f037705
--- /dev/null
+++ b/lib/jsoncpp/doc/doxyfile.in
@@ -0,0 +1,232 @@
+# Doxyfile 1.4.3
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+PROJECT_NAME = "JsonCpp"
+PROJECT_NUMBER = %JSONCPP_VERSION%
+OUTPUT_DIRECTORY = %DOC_TOPDIR%
+CREATE_SUBDIRS = NO
+OUTPUT_LANGUAGE = English
+USE_WINDOWS_ENCODING = NO
+BRIEF_MEMBER_DESC = YES
+REPEAT_BRIEF = YES
+ABBREVIATE_BRIEF = "The $name class" \
+ "The $name widget" \
+ "The $name file" \
+ is \
+ provides \
+ specifies \
+ contains \
+ represents \
+ a \
+ an \
+ the
+ALWAYS_DETAILED_SEC = NO
+INLINE_INHERITED_MEMB = NO
+FULL_PATH_NAMES = YES
+STRIP_FROM_PATH = %TOPDIR%
+STRIP_FROM_INC_PATH = %TOPDIR%/include
+SHORT_NAMES = NO
+JAVADOC_AUTOBRIEF = NO
+MULTILINE_CPP_IS_BRIEF = NO
+DETAILS_AT_TOP = NO
+INHERIT_DOCS = YES
+DISTRIBUTE_GROUP_DOC = NO
+SEPARATE_MEMBER_PAGES = NO
+TAB_SIZE = 3
+ALIASES =
+OPTIMIZE_OUTPUT_FOR_C = NO
+OPTIMIZE_OUTPUT_JAVA = NO
+SUBGROUPING = YES
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = NO
+EXTRACT_STATIC = YES
+EXTRACT_LOCAL_CLASSES = NO
+EXTRACT_LOCAL_METHODS = NO
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
+HIDE_FRIEND_COMPOUNDS = NO
+HIDE_IN_BODY_DOCS = NO
+INTERNAL_DOCS = YES
+CASE_SENSE_NAMES = NO
+HIDE_SCOPE_NAMES = NO
+SHOW_INCLUDE_FILES = YES
+INLINE_INFO = YES
+SORT_MEMBER_DOCS = YES
+SORT_BRIEF_DOCS = NO
+SORT_BY_SCOPE_NAME = NO
+GENERATE_TODOLIST = YES
+GENERATE_TESTLIST = YES
+GENERATE_BUGLIST = YES
+GENERATE_DEPRECATEDLIST= YES
+ENABLED_SECTIONS =
+MAX_INITIALIZER_LINES = 30
+SHOW_USED_FILES = YES
+SHOW_DIRECTORIES = YES
+FILE_VERSION_FILTER =
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+QUIET = NO
+WARNINGS = YES
+WARN_IF_UNDOCUMENTED = YES
+WARN_IF_DOC_ERROR = YES
+WARN_NO_PARAMDOC = NO
+WARN_FORMAT = "$file:$line: $text"
+WARN_LOGFILE = jsoncpp-doxygen-warning.log
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+INPUT = ../include ../src/lib_json .
+FILE_PATTERNS = *.h *.cpp *.dox
+RECURSIVE = YES
+EXCLUDE =
+EXCLUDE_SYMLINKS = NO
+EXCLUDE_PATTERNS =
+EXAMPLE_PATH =
+EXAMPLE_PATTERNS = *
+EXAMPLE_RECURSIVE = NO
+IMAGE_PATH =
+INPUT_FILTER =
+FILTER_PATTERNS =
+FILTER_SOURCE_FILES = NO
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+SOURCE_BROWSER = YES
+INLINE_SOURCES = NO
+STRIP_CODE_COMMENTS = YES
+REFERENCED_BY_RELATION = YES
+REFERENCES_RELATION = YES
+USE_HTAGS = NO
+VERBATIM_HEADERS = YES
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+ALPHABETICAL_INDEX = NO
+COLS_IN_ALPHA_INDEX = 5
+IGNORE_PREFIX =
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+GENERATE_HTML = YES
+HTML_OUTPUT = json-html-doc-%JSONCPP_VERSION%
+HTML_FILE_EXTENSION = .html
+HTML_HEADER = header.html
+HTML_FOOTER = footer.html
+HTML_STYLESHEET =
+HTML_ALIGN_MEMBERS = YES
+GENERATE_HTMLHELP = NO
+CHM_FILE = jsoncpp.chm
+HHC_LOCATION =
+GENERATE_CHI = NO
+BINARY_TOC = NO
+TOC_EXPAND = NO
+DISABLE_INDEX = NO
+ENUM_VALUES_PER_LINE = 4
+GENERATE_TREEVIEW = NO
+TREEVIEW_WIDTH = 250
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+GENERATE_LATEX = NO
+LATEX_OUTPUT = latex
+LATEX_CMD_NAME = latex
+MAKEINDEX_CMD_NAME = makeindex
+COMPACT_LATEX = NO
+PAPER_TYPE = a4wide
+EXTRA_PACKAGES =
+LATEX_HEADER =
+PDF_HYPERLINKS = NO
+USE_PDFLATEX = NO
+LATEX_BATCHMODE = NO
+LATEX_HIDE_INDICES = NO
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+GENERATE_RTF = NO
+RTF_OUTPUT = rtf
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
+RTF_STYLESHEET_FILE =
+RTF_EXTENSIONS_FILE =
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+GENERATE_MAN = NO
+MAN_OUTPUT = man
+MAN_EXTENSION = .3
+MAN_LINKS = NO
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+GENERATE_XML = NO
+XML_OUTPUT = xml
+XML_SCHEMA =
+XML_DTD =
+XML_PROGRAMLISTING = YES
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+GENERATE_AUTOGEN_DEF = NO
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+GENERATE_PERLMOD = NO
+PERLMOD_LATEX = NO
+PERLMOD_PRETTY = YES
+PERLMOD_MAKEVAR_PREFIX =
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+ENABLE_PREPROCESSING = YES
+MACRO_EXPANSION = NO
+EXPAND_ONLY_PREDEF = NO
+SEARCH_INCLUDES = YES
+INCLUDE_PATH = ../include
+INCLUDE_FILE_PATTERNS = *.h
+PREDEFINED = JSONCPP_DOC_EXCLUDE_IMPLEMENTATION JSON_VALUE_USE_INTERNAL_MAP
+EXPAND_AS_DEFINED =
+SKIP_FUNCTION_MACROS = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+TAGFILES =
+GENERATE_TAGFILE =
+ALLEXTERNALS = NO
+EXTERNAL_GROUPS = YES
+PERL_PATH = /usr/bin/perl
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+CLASS_DIAGRAMS = NO
+HIDE_UNDOC_RELATIONS = YES
+HAVE_DOT = NO
+CLASS_GRAPH = YES
+COLLABORATION_GRAPH = YES
+GROUP_GRAPHS = YES
+UML_LOOK = NO
+TEMPLATE_RELATIONS = NO
+INCLUDE_GRAPH = YES
+INCLUDED_BY_GRAPH = YES
+CALL_GRAPH = NO
+GRAPHICAL_HIERARCHY = YES
+DIRECTORY_GRAPH = YES
+DOT_IMAGE_FORMAT = png
+DOT_PATH =
+DOTFILE_DIRS =
+MAX_DOT_GRAPH_WIDTH = 1024
+MAX_DOT_GRAPH_HEIGHT = 1024
+MAX_DOT_GRAPH_DEPTH = 1000
+DOT_TRANSPARENT = NO
+DOT_MULTI_TARGETS = NO
+GENERATE_LEGEND = YES
+DOT_CLEANUP = YES
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+SEARCHENGINE = NO
diff --git a/lib/jsoncpp/doc/footer.html b/lib/jsoncpp/doc/footer.html
new file mode 100644
index 0000000000..a61d9528a1
--- /dev/null
+++ b/lib/jsoncpp/doc/footer.html
@@ -0,0 +1,23 @@
+<hr>
+<table width="100%">
+ <tr>
+ <td width="10%" align="left" valign="center">
+ <a href="http://sourceforge.net">
+ <img
+ src="http://sourceforge.net/sflogo.php?group_id=144446"
+ width="88" height="31" border="0" alt="SourceForge Logo"></a>
+ </td>
+ <td width="20%" align="left" valign="center">
+ hosts this site.
+ </td>
+ <td>
+ </td>
+ <td align="right" valign="center">
+ Send comments to:<br>
+ <a href="mailto:jsoncpp-devel@lists.sourceforge.net">Json-cpp Developers</a>
+ </td>
+ </tr>
+</table>
+
+</body>
+</html>
diff --git a/lib/jsoncpp/doc/header.html b/lib/jsoncpp/doc/header.html
new file mode 100644
index 0000000000..d56ea59c69
--- /dev/null
+++ b/lib/jsoncpp/doc/header.html
@@ -0,0 +1,24 @@
+<html>
+<head>
+<title>
+JsonCpp - JSON data format manipulation library
+</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head>
+
+<body bgcolor="#ffffff">
+<table width="100%">
+ <tr>
+ <td width="40%" align="left" valign="center">
+ <a href="http://sourceforge.net/projects/jsoncpp">
+ JsonCpp project page
+ </a>
+ </td>
+ <td width="40%" align="right" valign="center">
+ <a href="http://jsoncpp.sourceforge.net">JsonCpp home page</a>
+ </td>
+ </tr>
+</table>
+
+<hr>
diff --git a/lib/jsoncpp/doc/jsoncpp.dox b/lib/jsoncpp/doc/jsoncpp.dox
new file mode 100644
index 0000000000..fc7b530eba
--- /dev/null
+++ b/lib/jsoncpp/doc/jsoncpp.dox
@@ -0,0 +1,97 @@
+/**
+\mainpage
+\section _intro Introduction
+
+<a HREF="http://www.json.org/">JSON (JavaScript Object Notation)</a>
+ is a lightweight data-interchange format.
+It can represents integer, real number, string, an ordered sequence of value, and
+a collection of name/value pairs.
+
+Here is an example of JSON data:
+\verbatim
+// Configuration options
+{
+ // Default encoding for text
+ "encoding" : "UTF-8",
+
+ // Plug-ins loaded at start-up
+ "plug-ins" : [
+ "python",
+ "c++",
+ "ruby"
+ ],
+
+ // Tab indent size
+ "indent" : { "length" : 3, "use_space" = true }
+}
+\endverbatim
+
+\section _features Features
+- read and write JSON document
+- rewrite JSON document preserving original comments
+
+\code
+Json::Value root; // will contains the root value after parsing.
+Json::Reader reader;
+bool parsingSuccessful = reader.parse( config_doc, root );
+if ( !parsingSuccessful )
+{
+ // report to the user the failure and their locations in the document.
+ std::cout << "Failed to parse configuration\n"
+ << reader.getFormatedErrorMessages();
+ return;
+}
+
+// Get the value of the member of root named 'encoding', return 'UTF-8' if there is no
+// such member.
+std::string encoding = root.get("encoding", "UTF-8" ).asString();
+// Get the value of the member of root named 'encoding', return a 'null' value if
+// there is no such member.
+const Json::Value plugins = root["plug-ins"];
+for ( int index = 0; index < plugins.size(); ++index ) // Iterates over the sequence elements.
+ loadPlugIn( plugins[index].asString() );
+
+setIndentLength( root["indent"].get("length", 3).asInt() );
+setIndentUseSpace( root["indent"].get("use_space", true).asBool() );
+
+// ...
+// At application shutdown to make the new configuration document:
+// Since Json::Value has implicit constructor for all value types, it is not
+// necessary to explicitely construct the Json::Value object:
+root["encoding"] = getCurrentEncoding();
+root["indent"]["length"] = getCurrentIndentLength();
+root["indent"]["use_space"] = getCurrentIndentUseSpace();
+
+Json::StyledWriter writer;
+// Make a new JSON document for the configuration. Preserve original comments.
+std::string outputConfig = writer.write( root );
+
+// You can also use streams. This will put the contents of any JSON
+// stream at a particular sub-value, if you'd like.
+std::cin >> root["subtree"];
+
+// And you can write to a stream, using the StyledWriter automatically.
+std::cout << root;
+\endcode
+
+\section _plinks Build instructions
+The build instruction are located in the file
+<a HREF="README.txt">README.txt</a> in the top-directory of the project.
+
+Permanent link to the lastest revision of the file in subversion:
+<a HREF="http://svn.sourceforge.net/viewcvs.cgi/jsoncpp/README.txt?view=markup">lastest README.txt</a>
+
+\section _plinks Project links
+- <a HREF="http://jsoncpp.sourceforge.net">json-cpp home</a>
+- <a HREF="http://www.sourceforge.net/projects/jsoncpp">json-cpp sourceforge project</a>
+
+\section _rlinks Related links
+- <a HREF="http://www.json.org/">JSON</a> Specification and alternate language implementations.
+- <a HREF="http://www.yaml.org/">YAML</a> A data format designed for human readability.
+- <a HREF="http://www.cl.cam.ac.uk/~mgk25/unicode.html">UTF-8 and Unicode FAQ</a>.
+
+\section _license License
+The json-cpp library and this documentation are in Public Domain.
+
+\author Baptiste Lepilleur <blep@users.sourceforge.net>
+*/
diff --git a/lib/jsoncpp/doc/readme.txt b/lib/jsoncpp/doc/readme.txt
new file mode 100644
index 0000000000..0e42cdfb4c
--- /dev/null
+++ b/lib/jsoncpp/doc/readme.txt
@@ -0,0 +1 @@
+The documentation is generated using doxygen (http://www.doxygen.org).
diff --git a/lib/jsoncpp/doc/roadmap.dox b/lib/jsoncpp/doc/roadmap.dox
new file mode 100644
index 0000000000..84648b9eed
--- /dev/null
+++ b/lib/jsoncpp/doc/roadmap.dox
@@ -0,0 +1,35 @@
+/*! \page roadmap JsonCpp roadmap
+ \section ms_release Makes JsonCpp ready for release
+ - Build system clean-up:
+ - Fix build on Windows (shared-library build is broken)
+ - Fix doxygen build issue (discard doxygen dependency check, always rebuild)
+ - Add enable/disable flag for static and shared library build
+ - Enhance help
+ - Test with recent Scons checkpoint
+ - Platform portability check:
+ - linux/gcc,
+ - solaris/cc,
+ - windows/msvc678,
+ - aix/vacpp
+ - Add JsonCpp version to header as numeric for use in preprocessor test
+ - Remove buggy experimental hash stuff
+ - Release on sourceforge download
+ \section ms_unicode Clean-up unicode handling
+ - Ensure reader properly convert \u and \U unicode sequence to UTF8
+ - Ensure writer emit only UTF8 string.
+ - Provides hook to convert string to/from utf8/other encoding.
+ - look into iconv, icu and windows API
+ \section ms_strict Adds a strict mode to reader/parser
+ Strict JSON support as specific in RFC 4627 (http://www.ietf.org/rfc/rfc4627.txt?number=4627).
+ - Enforce only object or array as root element
+ - Disable comment support
+ \section ms_separation Expose json reader/writer API that do not impose using Json::Value.
+ Some typical use-case involve an application specific structure to/from a JSON document.
+ - Performance oriented parser/writer:
+ - Provides an event based parser. Should allow pulling & skipping events for ease of use.
+ - Provides a JSON document builder: fast only.
+ \section ms_perfo Performance tuning
+ - Provides support for static property name definition avoiding allocation
+ - Static property dictionnary can be provided to JSON reader
+ - Performance scenario & benchmarking
+*/
diff --git a/lib/jsoncpp/doc/sconscript b/lib/jsoncpp/doc/sconscript
new file mode 100644
index 0000000000..7b78a21d80
--- /dev/null
+++ b/lib/jsoncpp/doc/sconscript
@@ -0,0 +1,61 @@
+Import( 'env' )
+import os.path
+
+if 'doxygen' in env['TOOLS']:
+ doc_topdir = str(env['ROOTBUILD_DIR'])
+ html_dir = 'jsoncpp-api-doc'
+
+ doxygen_inputs = env.Glob( includes = '*.dox', dir = '#doc' ) \
+ + env.Glob( includes = '*.h', dir = '#include/json/' ) \
+ + env.Glob( includes = ('*.dox','*.h','*.inl','*.cpp'),
+ dir = '#src/lib_json' )
+## for p in doxygen_inputs:
+## print p.abspath
+
+ top_dir = env.Dir('#').abspath
+ include_top_dir = env.Dir('#include').abspath
+ env['DOXYFILE_DICT'] = { 'PROJECT_NAME': 'JsonCpp',
+ 'PROJECT_NUMBER': env['JSONCPP_VERSION'],
+ 'STRIP_FROM_PATH': top_dir,
+ 'STRIP_FROM_INC_PATH': include_top_dir,
+ 'HTML_OUTPUT': html_dir,
+ 'HTML_HEADER': env.File('#doc/header.html').abspath,
+ 'HTML_FOOTER': env.File('#doc/footer.html').abspath,
+ 'INCLUDE_PATH': include_top_dir,
+ 'PREDEFINED': 'JSONCPP_DOC_EXCLUDE_IMPLEMENTATION JSON_VALUE_USE_INTERNAL_MAP'
+ }
+ env['DOXYFILE_FILE'] = 'doxyfile.in'
+ doxfile_nodes = env.Doxyfile( os.path.join( doc_topdir, 'doxyfile' ), doxygen_inputs )
+ html_doc_path = os.path.join( doc_topdir, html_dir )
+ doc_nodes = env.Doxygen( source = doxfile_nodes,
+ target = os.path.join( html_doc_path, 'index.html' ) )
+ alias_doc_cmd = env.Alias('doc', doc_nodes )
+ env.Alias('doc', env.Install( html_doc_path, '#README.txt' ) )
+ if 'TarGz' in env['BUILDERS']:
+ targz_path = os.path.join( env['DIST_DIR'], '%s.tar.gz' % html_dir )
+ zip_doc_cmd = env.TarGz( targz_path, [env.Dir(html_doc_path)],
+ TARGZ_BASEDIR = env['ROOTBUILD_DIR'] )
+ env.Depends( zip_doc_cmd, alias_doc_cmd )
+ env.Alias( 'doc-dist', zip_doc_cmd )
+##
+## doxyfile = env.SubstInFile( '#doc/doxyfile', 'doxyfile.in',
+## SUBST_DICT = {
+## '%JSONCPP_VERSION%' : env['JSONCPP_VERSION'],
+## '%TOPDIR%' : env.Dir('#').abspath,
+## '%DOC_TOPDIR%' : str(doc_topdir) } )
+## doc_cmd = env.Doxygen( doxyfile )
+## alias_doc_cmd = env.Alias('doc', doc_cmd )
+## env.AlwaysBuild(alias_doc_cmd)
+##
+## for dir in doc_cmd:
+## env.Alias('doc', env.Install( '#' + dir.path, '#README.txt' ) )
+## filename = os.path.split(dir.path)[1]
+## targz_path = os.path.join( env['DIST_DIR'], '%s.tar.gz' % filename )
+## zip_doc_cmd = env.TarGz( targz_path, [env.Dir(dir)],
+## TARGZ_BASEDIR = doc_topdir )
+## env.Depends( zip_doc_cmd, alias_doc_cmd )
+## env.Alias( 'doc-dist', zip_doc_cmd )
+##
+## # When doxyfile gets updated, I get errors on the first pass.
+## # I have to run scons twice. Something is wrong with the dependencies
+## # here, but I avoid it by running "scons doc/doxyfile" first.