aboutsummaryrefslogtreecommitdiffstats
path: root/libparc/parc/algol/parc_JSONParser.h
diff options
context:
space:
mode:
Diffstat (limited to 'libparc/parc/algol/parc_JSONParser.h')
-rwxr-xr-xlibparc/parc/algol/parc_JSONParser.h309
1 files changed, 0 insertions, 309 deletions
diff --git a/libparc/parc/algol/parc_JSONParser.h b/libparc/parc/algol/parc_JSONParser.h
deleted file mode 100755
index 425a2427..00000000
--- a/libparc/parc/algol/parc_JSONParser.h
+++ /dev/null
@@ -1,309 +0,0 @@
-/*
- * Copyright (c) 2017 Cisco and/or its affiliates.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at:
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * @file parc_JSONParser.h
- * @brief A JSON parser
- * @ingroup inputoutput
- *
- */
-#ifndef PARC_Library_parc_JSONParser_h
-#define PARC_Library_parc_JSONParser_h
-
-struct parc_buffer_parser;
-typedef struct parc_buffer_parser PARCJSONParser;
-
-#include <parc/algol/parc_Buffer.h>
-
-/**
- * @def parcJSONValue_OptionalAssertValid
- * Optional validation of the given instance.
- *
- * Define `PARCLibrary_DISABLE_VALIDATION` to nullify validation.
- */
-#ifdef PARCLibrary_DISABLE_VALIDATION
-# define parcJSONParser_OptionalAssertValid(_instance_)
-#else
-# define parcJSONParser_OptionalAssertValid(_instance_) parcJSONParser_AssertValid(_instance_)
-#endif
-
-
-/**
- * Create a new `PARCJSONParser`.
- *
- * @param [in] buffer A pointer to a {@link PARCBuffer} containing the data to parse.
- *
- * @return non-NULL A pointer to a valid `PARCJSONParser`.
- *
- * Example:
- * @code
- * {
- * PARCBuffer *buffer = parcBuffer_WrapCString(" { \"name\" : 123 }");
- *
- * PARCJSONParser *parser = parcJSONParser_Create(buffer);
- *
- * parcJSONParser_Release(&parser);
- * parcBuffer_Release(&buffer);
- * }
- * @endcode
- */
-PARCJSONParser *parcJSONParser_Create(PARCBuffer *buffer);
-
-/**
- * Assert that an instance of `PARCJSONParser` is valid.
- *
- * If the instance is not valid, terminate via {@link parcTrapIllegalValue()}
- *
- * Valid means the internal state of the type is consistent with its required current or future behaviour.
- * This may include the validation of internal instances of types.
- *
- * @param [in] parser A pointer to a `PARCJSONParser` instance.
- */
-void parcJSONParser_AssertValid(const PARCJSONParser *parser);
-
-/**
- * Increase the number of references to a `PARCJSONParser`.
- *
- * Note that new `PARCJSONParser` is not created,
- * only that the given `PARCJSONParser` reference count is incremented.
- * Discard the reference by invoking {@link parcJSONParser_Release}.
- *
- * @param parser A pointer to the original instance.
- * @return The value of the input parameter @p parser.
- *
- * Example:
- * @code
- * {
- * PARCBuffer *buffer = parcBuffer_WrapCString(" { \"name\" : 123 }");
- *
- * PARCJSONParser *parser = parcJSONParser_Create(buffer);
- * PARCJSONParser *x2 = parcJSONParser_Acquire(parser);
- *
- * parcJSONParser_Release(&parser);
- * parcJSONParser_Release(&x2);
- * }
- * @endcode
- *
- * @see parcJSONParser_Release
- */
-PARCJSONParser *parcJSONParser_Acquire(const PARCJSONParser *parser);
-
-/**
- * Release a previously acquired reference to the specified instance,
- * decrementing the reference count for the instance.
- *
- * The pointer to the instance is set to NULL as a side-effect of this function.
- *
- * If the invocation causes the last reference to the instance to be released,
- * the instance is deallocated and the instance's implementation will perform
- * additional cleanup and release other privately held references.
- *
- * The contents of the dealloced memory used for the PARC object are undefined.
- * Do not reference the object after the last release.
- *
- * @param [in,out] parserPtr A pointer to a pointer to the instance of `PARCJSONParser` to release.
- *
- * Example:
- * @code
- * {
- * PARCBuffer *buffer = parcBuffer_WrapCString(" { \"name\" : 123 }");
- *
- * PARCJSONParser *parser = parcJSONParser_Create(buffer);
- *
- * parcJSONParser_Release(&parser);
- * }
- * @endcode
- */
-void parcJSONParser_Release(PARCJSONParser **parserPtr);
-
-/**
- * Advance the parser, skipping any ignored characters.
- *
- * Ignored characters are space, tab and new-line.
- *
- * @param [in] parser A pointer to a `PARCJSONParser` instance.
- *
- * Example:
- * @code
- * {
- * PARCBuffer *buffer = parcBuffer_WrapCString(" { \"name\" : 123 }");
- *
- * PARCJSONParser *parser = parcJSONParser_Create(buffer);
- * parcJSONParser_SkipIgnored(parser);
- *
- * parcJSONParser_Release(&parser);
- * }
- * @endcode
- */
-void parcJSONParser_SkipIgnored(PARCJSONParser *parser);
-
-/**
- * Get the next character from the parser.
- *
- * @param [in] parser A pointer to a `PARCJSONParser` instance.
- *
- * @return The next character
- *
- * Example:
- * @code
- * {
- * PARCBuffer *buffer = parcBuffer_WrapCString(" { \"name\" : 123 }");
- *
- * PARCJSONParser *parser = parcJSONParser_Create(buffer);
- * char c = parcJSONParser_NextChar(parser);
- *
- * parcJSONParser_Release(&parser);
- * }
- * @endcode
- */
-char parcJSONParser_NextChar(PARCJSONParser *parser);
-
-/**
- * Get the next character from the parser, returning true or false if successful.
- *
- * @param [in] parser A pointer to a `PARCJSONParser` instance.
- * @param [out] value A pointer to a `char` to contain the value if successful.
- *
- * @return true If successful
- * @return false If unsuccessful
- *
- * Example:
- * @code
- * {
- * PARCBuffer *buffer = parcBuffer_WrapCString(" { \"name\" : 123 }");
- *
- * PARCJSONParser *parser = parcJSONParser_Create(buffer);
- * bool success = parcJSONParser_Next(parser, &c);
- *
- * parcJSONParser_Release(&parser);
- * }
- * @endcode
- */
-bool parcJSONParser_Next(PARCJSONParser *parser, char *value);
-
-/**
- * Get the next character that the parser will process, but do not process it nor advance the parser.
- *
- * @param [in] parser A pointer to a `PARCJSONParser` instance.
- *
- * @return The next character that the parser will process.
- *
- * Example:
- * @code
- * {
- * PARCBuffer *buffer = parcBuffer_WrapCString(" { \"name\" : 123 }");
- *
- * PARCJSONParser *parser = parcJSONParser_Create(buffer);
- * char c = parcJSONParser_PeekNextChar(parser);
- *
- * parcJSONParser_Release(&parser);
- * }
- * @endcode
- */
-char parcJSONParser_PeekNextChar(PARCJSONParser *parser);
-
-/**
- * Advance the position of the parser forward or backward by the given number of bytes.
- *
- * To advance forward, bytes is a positive value.
- * To advance backwards, bytes is a negative value.
- *
- * @param [in] parser A pointer to a valid `PARCJSONParser`.
- * @param [in] bytes The number of bytes to move forward or backward.
- *
- * Example:
- * @code
- * {
- * PARCBuffer *buffer = parcBuffer_WrapCString("abcdef");
- *
- * PARCJSONParser *parser = parcJSONParser_Create(buffer);
- * parcJSONParser_Advance(parser, 2);
- *
- * parcJSONParser_Release(&parser);
- * }
- * @endcode
- */
-void parcJSONParser_Advance(PARCJSONParser *parser, long bytes);
-
-/**
- * Get the number of characters remaining to be parsed.
- *
- * @param [in] parser A pointer to a valid `PARCJSONParser` instance
- *
- * @return The number of characters remaining to be parsed.
- *
- * Example:
- * @code
- * {
- * PARCBuffer *buffer = parcBuffer_WrapCString("true);
- *
- * PARCJSONParser *parser = parcJSONParser_Create(buffer);
- * size_t remaining = parcJSONParser_Remaining(parser);
- *
- * parcJSONParser_Release(&parser);
- * }
- * @endcode
- */
-size_t parcJSONParser_Remaining(const PARCJSONParser *parser);
-
-/**
- * Require the fixed string to appear in the current position of the parser.
- *
- * @param [in] parser A pointer to a `PARCJSONParser` instance.
- * @param [in] string A pointer to a null-terminated C-string that must appear at the current position of the parser.
- *
- * @return true If the string appears.
- * @return false If the string does not appear
- *
- * Example:
- * @code
- * {
- * PARCBuffer *buffer = parcBuffer_WrapCString("true");
- *
- * PARCJSONParser *parser = parcJSONParser_Create(buffer);
- * bool result = parcJSONParser_RequireString(parser, "true");
- *
- * parcJSONParser_Release(&parser);
- * parcBuffer_Release(&buffer);
- * }
- * @endcode
- */
-bool parcJSONParser_RequireString(PARCJSONParser *parser, const char *string);
-
-/**
- * Parse a JSON string returning a {@link PARCBuffer} containing the parsed string.
- *
- * A JSON string begins and ends with a non-escaped double-quote character.
- *
- * @param [in] parser A pointer to a `PARCJSONParser` instance.
- *
- * @return non-NULL A pointer to a valid `PARCBuffer`.
- * @return NULL An error occurred.
- *
- * Example:
- * @code
- * {
- * PARCBuffer *buffer = parcBuffer_WrapCString("\"name\" : 123");
- *
- * PARCJSONParser *parser = parcJSONParser_Create(buffer);
- * PARCBuffer *theName = parcJSONParser_ParseString(parser);
- *
- * parcJSONParser_Release(&parser);
- * }
- * @endcode
- */
-PARCBuffer *parcJSONParser_ParseString(PARCJSONParser *parser);
-
-#endif