[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Ann : CCard Parser (vCard/vCal)



>Are you sure it's in C?  Looks an awful lot like C++.



The parser is C, the test program I posted which uses it is C++. If compiled
into a dynamic library then most other languages should be able to use it
as well. Also I designed it for portability, its ANSI C.



>From the header file (cardparser.h)



/*

Licensing : All code is under the Mozilla Public License 1.1 (MPL 1.1) as
specified in 

license.txt

*/



#ifndef CARD_PARSER_H

#define CARD_PARSER_H



#ifdef __cplusplus

extern "C"

{

#endif



typedef  char CARD_Char;

typedef void *CARD_Parser;



// setup & parsing

CARD_Parser CARD_ParserCreate(CARD_Char *encoding);

void CARD_ParserFree(CARD_Parser p);

int CARD_Parse(CARD_Parser p, const char *s, int len, int isFinal);



// user data

void CARD_SetUserData(CARD_Parser p, void *userData);

void *CARD_GetUserData(CARD_Parser p);



// handlers

typedef void (*CARD_PropHandler)(void *userData, const CARD_Char *propname,
const CARD_Char **params);

typedef void (*CARD_DataHandler)(void *userData, const CARD_Char *data, int
len);



// Set Handlers

void CARD_SetPropHandler(CARD_Parser p, CARD_PropHandler cardProp);

void CARD_SetDataHandler(CARD_Parser p, CARD_DataHandler cardData);



#ifdef __cplusplus

}

#endif





#endif