aboutsummaryrefslogtreecommitdiff
path: root/qjson.c
AgeCommit message (Collapse)AuthorFilesLines
2010-01-26json: escape u0000 .. u001F when outputting jsonAnthony Liguori1-2/+8
Markus Armbruster pointed out: JSON requires control characters in strings to be escaped. RFC 4627 section 2.5: A string begins and ends with quotation marks. All Unicode characters may be placed within the quotation marks except for the characters that must be escaped: quotation mark, reverse solidus, and the control characters (U+0000 through U+001F). We've been quoting the special escape sequences that JSON defines but we haven't been encoding the full control character range. This patch fixes that. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-12-03Introduce QErrorLuiz Capitulino1-0/+2
QError is a high-level data type which represents an exception in QEMU, it stores the following error information: - class Error class name (eg. "ServiceUnavailable") - description A detailed error description, which can contain references to run-time error data - filename The file name of where the error occurred - line number The exact line number of the error - function The function name of where the error occurred - run-time data Any run-time error data Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-12-03QJSON: Introduce qobject_from_jsonv()Luiz Capitulino1-10/+11
It accepts a va_list and will be used by QError. Also simplifies the code a little, as the other qobject_from_() functions can use it. Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-11-17Provide marshalling mechanism for jsonAnthony Liguori1-0/+178
This introduces qobject_to_json which will convert a QObject to a JSON string representation. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-11-17Add a QObject JSON wrapperAnthony Liguori1-0/+60
This provides a QObject interface for creating QObjects from a JSON expression. Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>