mirror of
git://git.psyc.eu/libpsyc
synced 2024-08-15 03:19:02 +00:00
parser, text: added functions for accessing state variables - headers
This commit is contained in:
parent
bc632122a5
commit
7f9fe71ed9
2 changed files with 58 additions and 14 deletions
|
@ -131,7 +131,7 @@ typedef struct
|
||||||
* @param state Pointer to the state struct that should be initialized.
|
* @param state Pointer to the state struct that should be initialized.
|
||||||
*/
|
*/
|
||||||
static inline
|
static inline
|
||||||
void psyc_initParseState (psycParseState* state)
|
void psyc_initParseState (psycParseState *state)
|
||||||
{
|
{
|
||||||
memset(state, 0, sizeof(psycParseState));
|
memset(state, 0, sizeof(psycParseState));
|
||||||
}
|
}
|
||||||
|
@ -143,7 +143,7 @@ void psyc_initParseState (psycParseState* state)
|
||||||
* @param flags Flags to be set for the parser, see psycParseFlag.
|
* @param flags Flags to be set for the parser, see psycParseFlag.
|
||||||
*/
|
*/
|
||||||
static inline
|
static inline
|
||||||
void psyc_initParseState2 (psycParseState* state, uint8_t flags)
|
void psyc_initParseState2 (psycParseState *state, uint8_t flags)
|
||||||
{
|
{
|
||||||
memset(state, 0, sizeof(psycParseState));
|
memset(state, 0, sizeof(psycParseState));
|
||||||
state->flags = flags;
|
state->flags = flags;
|
||||||
|
@ -160,7 +160,7 @@ void psyc_initParseState2 (psycParseState* state, uint8_t flags)
|
||||||
* @see psycString
|
* @see psycString
|
||||||
*/
|
*/
|
||||||
static inline
|
static inline
|
||||||
void psyc_setParseBuffer (psycParseState* state, psycString buffer)
|
void psyc_setParseBuffer (psycParseState *state, psycString buffer)
|
||||||
{
|
{
|
||||||
state->buffer = buffer;
|
state->buffer = buffer;
|
||||||
state->cursor = 0;
|
state->cursor = 0;
|
||||||
|
@ -181,7 +181,7 @@ void psyc_setParseBuffer (psycParseState* state, psycString buffer)
|
||||||
* @see psycString
|
* @see psycString
|
||||||
*/
|
*/
|
||||||
static inline
|
static inline
|
||||||
void psyc_setParseBuffer2 (psycParseState* state, char *buffer, size_t length)
|
void psyc_setParseBuffer2 (psycParseState *state, char *buffer, size_t length)
|
||||||
{
|
{
|
||||||
psyc_setParseBuffer(state, psyc_newString(buffer, length));
|
psyc_setParseBuffer(state, psyc_newString(buffer, length));
|
||||||
}
|
}
|
||||||
|
@ -192,7 +192,7 @@ void psyc_setParseBuffer2 (psycParseState* state, char *buffer, size_t length)
|
||||||
* @param state Pointer to the list state struct that should be initialized.
|
* @param state Pointer to the list state struct that should be initialized.
|
||||||
*/
|
*/
|
||||||
static inline
|
static inline
|
||||||
void psyc_initParseListState (psycParseListState* state)
|
void psyc_initParseListState (psycParseListState *state)
|
||||||
{
|
{
|
||||||
memset(state, 0, sizeof(psycParseListState));
|
memset(state, 0, sizeof(psycParseListState));
|
||||||
}
|
}
|
||||||
|
@ -201,22 +201,58 @@ void psyc_initParseListState (psycParseListState* state)
|
||||||
* Sets a new buffer in the list parser state struct with data to be parsed.
|
* Sets a new buffer in the list parser state struct with data to be parsed.
|
||||||
*/
|
*/
|
||||||
static inline
|
static inline
|
||||||
void psyc_setParseListBuffer (psycParseListState* state, psycString buffer)
|
void psyc_setParseListBuffer (psycParseListState *state, psycString buffer)
|
||||||
{
|
{
|
||||||
state->buffer = buffer;
|
state->buffer = buffer;
|
||||||
state->cursor = 0;
|
state->cursor = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline
|
static inline
|
||||||
void psyc_setParseListBuffer2 (psycParseListState* state, char *buffer, size_t length)
|
void psyc_setParseListBuffer2 (psycParseListState *state, char *buffer, size_t length)
|
||||||
{
|
{
|
||||||
psyc_setParseListBuffer(state, psyc_newString(buffer, length));
|
psyc_setParseListBuffer(state, psyc_newString(buffer, length));
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline
|
static inline
|
||||||
size_t psyc_getContentLength (psycParseState* s)
|
size_t psyc_getParseContentLength (psycParseState *state)
|
||||||
{
|
{
|
||||||
return s->contentLength;
|
return state->contentLength;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline
|
||||||
|
psycBool psyc_isParseContentLengthFound (psycParseState *state)
|
||||||
|
{
|
||||||
|
return state->contentLengthFound;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline
|
||||||
|
size_t psyc_getParseValueLength (psycParseState *state)
|
||||||
|
{
|
||||||
|
return state->valueLength;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline
|
||||||
|
size_t psyc_getParseCursor (psycParseState *state)
|
||||||
|
{
|
||||||
|
return state->cursor;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline
|
||||||
|
size_t psyc_getParseBufferLength (psycParseState *state)
|
||||||
|
{
|
||||||
|
return state->buffer.length;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline
|
||||||
|
size_t psyc_getParseRemainingLength (psycParseState *state)
|
||||||
|
{
|
||||||
|
return state->buffer.length - state->cursor;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline
|
||||||
|
const char * psyc_getParseRemainingBuffer (psycParseState *state)
|
||||||
|
{
|
||||||
|
return state->buffer.ptr + state->cursor;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -232,12 +268,14 @@ size_t psyc_getContentLength (psycParseState* s)
|
||||||
* @param value A pointer to a psycString. It will point to the
|
* @param value A pointer to a psycString. It will point to the
|
||||||
* value/body the variable/method and its length will be set accordingly
|
* value/body the variable/method and its length will be set accordingly
|
||||||
*/
|
*/
|
||||||
psycParseRC psyc_parse (psycParseState* state, char* oper, psycString* name, psycString* value);
|
psycParseRC psyc_parse (psycParseState *state, char *oper,
|
||||||
|
psycString *name, psycString *value);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* List value parser.
|
* List value parser.
|
||||||
*/
|
*/
|
||||||
psycParseListRC psyc_parseList (psycParseListState* state, psycString *name, psycString* value, psycString* elem);
|
psycParseListRC psyc_parseList (psycParseListState *state, psycString *name,
|
||||||
|
psycString *value, psycString *elem);
|
||||||
|
|
||||||
#endif // PSYC_PARSER_H
|
#endif // PSYC_PARSER_H
|
||||||
|
|
||||||
|
|
|
@ -99,7 +99,7 @@ void psyc_initTextState (psycTextState *state,
|
||||||
* @param closelen Length of closing brace.
|
* @param closelen Length of closing brace.
|
||||||
*/
|
*/
|
||||||
static inline
|
static inline
|
||||||
void psyc_initTextState2 (psycTextState* state,
|
void psyc_initTextState2 (psycTextState *state,
|
||||||
char *template, size_t tlen,
|
char *template, size_t tlen,
|
||||||
char *buffer, size_t blen,
|
char *buffer, size_t blen,
|
||||||
char *open, size_t openlen,
|
char *open, size_t openlen,
|
||||||
|
@ -115,7 +115,7 @@ void psyc_initTextState2 (psycTextState* state,
|
||||||
* Sets a new buffer in the PSYC text state struct.
|
* Sets a new buffer in the PSYC text state struct.
|
||||||
*/
|
*/
|
||||||
static inline
|
static inline
|
||||||
void psyc_setTextBuffer (psycTextState* state, psycString buffer)
|
void psyc_setTextBuffer (psycTextState *state, psycString buffer)
|
||||||
{
|
{
|
||||||
state->buffer = buffer;
|
state->buffer = buffer;
|
||||||
state->written = 0;
|
state->written = 0;
|
||||||
|
@ -125,12 +125,18 @@ void psyc_setTextBuffer (psycTextState* state, psycString buffer)
|
||||||
* Sets a new buffer in the PSYC text state struct.
|
* Sets a new buffer in the PSYC text state struct.
|
||||||
*/
|
*/
|
||||||
static inline
|
static inline
|
||||||
void psyc_setTextBuffer2 (psycTextState* state,
|
void psyc_setTextBuffer2 (psycTextState *state,
|
||||||
char *buffer, size_t length)
|
char *buffer, size_t length)
|
||||||
{
|
{
|
||||||
psyc_setTextBuffer(state, psyc_newString(buffer, length));
|
psyc_setTextBuffer(state, psyc_newString(buffer, length));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline
|
||||||
|
size_t psyc_getTextBytesWritten (psycTextState *state)
|
||||||
|
{
|
||||||
|
return state->written;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fills out text templates by asking a callback for content.
|
* Fills out text templates by asking a callback for content.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue