libcsem  0.2
csem_stream.h File Reference
#include "csem_micro_stream.h"
#include "csem_rdfa_stream.h"
#include "csem_url.h"

Go to the source code of this file.

Defines

#define CSEM_NS_C_BEGIN
#define CSEM_NS_C_END

Typedefs

typedef typedefCSEM_NS_C_BEGIN
struct CSEM_Parser 
CSEM_Parser
 Streaming parser.
typedef struct CSEM_Handler CSEM_Handler
 Callback handler manager.
typedef void(* CSEM_Parser_ErrorHandler )(const void *userdata, CSEM_Error error)
 Error handler.

Functions

CSEM_Error CSEM_Handler_Create (CSEM_Handler **handler)
 Create a handler manager.
void CSEM_Handler_Dispose (CSEM_Handler *handler, CSEM_Bool free)
 Dispose a handler manager.
void CSEM_Handler_SetErrorHandler (CSEM_Handler *handler, CSEM_Parser_ErrorHandler error)
 Set error handler to the handler manager.
void CSEM_Handler_SetMicrodataHandler (CSEM_Handler *handler, CSEM_Micro_Handlers *microdata)
 Set microdata handler to the handler manager.
void CSEM_Handler_SetRDFaHandler (CSEM_Handler *handler, CSEM_RDFa_Handlers *rdfa_lite)
 Set RDFa-Lite handler to the handler manager.
CSEM_Error CSEM_Parser_Create (CSEM_Parser **parser)
 Create a streaming parser.
void CSEM_Parser_SetUserdata (CSEM_Parser *parser, void *userdata)
 Set a user data.
void CSEM_Parser_SetHandler (CSEM_Parser *parser, CSEM_Handler *handler)
 Set a handler manager to the parser.
void CSEM_Parser_SetBaseURL (CSEM_Parser *parser, CSEM_Url *baseURL)
 Set base URL.
CSEM_Error CSEM_Parser_Parse (CSEM_Parser *parser, int fd)
 Start the parsing process.
CSEM_Error CSEM_Parser_ParseChunk (CSEM_Parser *parser, const char *chunk, int size, int terminate)
 Set a chunk to be parsed.
void CSEM_Parser_Dispose (CSEM_Parser *parser)
 Dispose the streaming parser.

Define Documentation

#define CSEM_NS_C_BEGIN
#define CSEM_NS_C_END

Typedef Documentation

typedef struct CSEM_Handler CSEM_Handler

Callback handler manager.

The streaming parser passes the parsed microdata to applications via the registered handlers.

typedef typedefCSEM_NS_C_BEGIN struct CSEM_Parser CSEM_Parser

Streaming parser.

typedef void(* CSEM_Parser_ErrorHandler)(const void *userdata, CSEM_Error error)

Error handler.

When the parser detects any error related to parser processing, the corresponding error code is passed.

Parameters:
userdata[out]user data
error[out]error code

Function Documentation

Create a handler manager.

Parameters:
handler[out]created handler manager
Returns:
error code
Examples:
sample_micro_stream.c, and sample_rdfa_stream.c.
void CSEM_Handler_Dispose ( CSEM_Handler handler,
CSEM_Bool  free 
)

Dispose a handler manager.

Parameters:
handler[in]handler manager to be freed
free[in]if CSEM_TRUE is set, the registered underlying handlers are also freed at the same time.
Examples:
sample_micro_stream.c, and sample_rdfa_stream.c.

Set error handler to the handler manager.

Parameters:
handler[in]handler manager
error[in]error handler
void CSEM_Handler_SetMicrodataHandler ( CSEM_Handler handler,
CSEM_Micro_Handlers microdata 
)

Set microdata handler to the handler manager.

Parameters:
handler[in]handler manager
microdata[in]microdata handler
Examples:
sample_micro_stream.c.
void CSEM_Handler_SetRDFaHandler ( CSEM_Handler handler,
CSEM_RDFa_Handlers rdfa_lite 
)

Set RDFa-Lite handler to the handler manager.

Parameters:
handler[in]manager
rdfa_lite[in]RDFa-Lite handler
Examples:
sample_rdfa_stream.c.

Create a streaming parser.

Parameters:
parser[out]created streaming parser
Returns:
error code
Examples:
sample_micro_stream.c, and sample_rdfa_stream.c.
void CSEM_Parser_Dispose ( CSEM_Parser parser)

Dispose the streaming parser.

Parameters:
parser[in]streming parser to be freed
Examples:
sample_micro_stream.c, and sample_rdfa_stream.c.
CSEM_Error CSEM_Parser_Parse ( CSEM_Parser parser,
int  fd 
)

Start the parsing process.

Parameters:
parser[in]streaming parser
fd[in]any input stream to be parsed
Returns:
error code
Examples:
sample_micro_stream.c, and sample_rdfa_stream.c.
CSEM_Error CSEM_Parser_ParseChunk ( CSEM_Parser parser,
const char *  chunk,
int  size,
int  terminate 
)

Set a chunk to be parsed.

Parameters:
parser[in]streaming parser
chunk[in]chunk data
size[in]size of the chunk
terminate[in]set 1 if the chunk is final data to be parsed. Otherwise, set 0.
Returns:
error code
void CSEM_Parser_SetBaseURL ( CSEM_Parser parser,
CSEM_Url baseURL 
)

Set base URL.

Parameters:
parser[in]streaming parser
baseURL[in]base URL
Examples:
sample_micro_stream.c, and sample_rdfa_stream.c.
void CSEM_Parser_SetHandler ( CSEM_Parser parser,
CSEM_Handler handler 
)

Set a handler manager to the parser.

Parameters:
parser[in]streaming parser
handler[in]handler manager
Examples:
sample_micro_stream.c, and sample_rdfa_stream.c.
void CSEM_Parser_SetUserdata ( CSEM_Parser parser,
void *  userdata 
)

Set a user data.

Parameters:
parser[in]streaming parser
userdata[in]user data to be registered
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines