diff -r 6bcc0aa4be39 -r 889504eac4fb xmlsrv_plat/cxml_library_api/inc/nw_wbxml_event.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xmlsrv_plat/cxml_library_api/inc/nw_wbxml_event.h Tue Aug 31 17:02:56 2010 +0300 @@ -0,0 +1,174 @@ +/* +* Copyright (c) 2000 - 2001 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +/** ----------------------------------------------------------------------- ** + @package: NW_WBXML + + @synopsis: default + + @description: Definitions for WBXML low-level event handling. + + ** ----------------------------------------------------------------------- **/ + +#ifndef NW_PARSER_WBXML_EVENT_H +#define NW_PARSER_WBXML_EVENT_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +typedef struct NW_WBXML_Parser_s NW_WBXML_Parser_t; + + +/** ----------------------------------------------------------------------- ** + @typedef: NW_WBXML_Exception + + @synopsis: Exception identifier. + + @scope: public + @type: NW_Int32 + + @description: Exception identifier. + ** ----------------------------------------------------------------------- **/ +typedef NW_Int32 NW_WBXML_Exception_t; + +/* No RME doc support for function calls as variables */ + +struct NW_WBXML_EventHandler_s { + + /* State change events */ + + NW_Status_t (*StartDocument_CB) (NW_WBXML_Parser_t *, + NW_WBXML_Document_t *, + void *); + + NW_Status_t (*EndDocument_CB) (NW_WBXML_Parser_t *, + void *); + + NW_Status_t (*Pi_CB) (NW_WBXML_Parser_t *, + void *); + + NW_Status_t (*Pi_End_CB) (NW_WBXML_Parser_t *, + void *); + + NW_Status_t (*Tag_Start_CB) (NW_WBXML_Parser_t *, + void *); + + NW_Status_t (*Tag_End_CB) (NW_WBXML_Parser_t *, + void *); + + NW_Status_t (*Attr_Start_CB) (NW_WBXML_Parser_t *, + void *); + + NW_Status_t (*Attr_Val_CB) (NW_WBXML_Parser_t *, + void *); + + NW_Status_t (*Content_CB) (NW_WBXML_Parser_t *, + void *); + + NW_Status_t (*CodePage_CB) (NW_WBXML_Parser_t *, + void *); + + NW_Status_t (*Extension_CB) (NW_WBXML_Parser_t *, + void *); + + /* Handle data types */ + + NW_Status_t (*Token_CB) (NW_WBXML_Parser_t *, + NW_Uint8, + void *); + + NW_Status_t (*FQToken_CB)(NW_WBXML_Parser_t *, + NW_Uint32, + void *); + + NW_Status_t (*InlineString_CB) (NW_WBXML_Parser_t *, + NW_Uint32, + void *); + + NW_Status_t (*TableString_CB) (NW_WBXML_Parser_t *, + NW_Uint32, + void *); + + NW_Status_t (*Binary_CB) (NW_WBXML_Parser_t *, + NW_Uint32, + void *); + + NW_Status_t (*Opaque_CB) (NW_WBXML_Parser_t *, + NW_Uint32, + void *); + + NW_Status_t (*Entity_CB) (NW_WBXML_Parser_t *, + NW_Uint32, + void *); + + /* For parse errors */ + + NW_Status_t (*Exception_CB) (NW_WBXML_Parser_t *, + NW_WBXML_Exception_t, + void *); +}; + + +/** ----------------------------------------------------------------------- ** + @typedef: NW_WBXML_EventHandler + + @synopsis: Parsing event handler structure. + + @scope: public + @type: NW_WBXML_EventHandler_s + + @description: Parsing events are generated as the parser parses a + document. The interface is currently implemented by + the WBXML parser, but the XML parser will use the same + event interface, although not all of the events will + be generated by both parsers. To create an event + handler, an application implements a set of event + handler functions and creates an + NMXB_Parse_EventHandler_t structure that contains the + addresses of these functions. Not all of the events + need to be handled; an application need only provide + handlers for those events it is interested in + Addresses of the other handlers should be set to + NULL. + This data type contains addresses of the parser + callback functions. To use the parser event interface, + the caller must implement a set of handlers and + initialize a NMXB_Parser_EventHandler_t to point to + them. Addresses must be set to NULL for any handlers + not implemented. The caller then registers the handler + with the parser by calling the appropriate handler + registration function. The callbacks are divided + between "state" callbacks and "data" callbacks. The + state callbacks indicate the current parser state: + that is, what type of element it is currently + parsing. The data callbacks indicate a specific data + type for the currently parsed element. + + ** ----------------------------------------------------------------------- **/ +typedef struct NW_WBXML_EventHandler_s NW_WBXML_EventHandler_t; + + +#ifdef __cplusplus +} /* extern "C" { */ +#endif /* __cplusplus */ + +#endif /* NW_PARSER_WBXML_EVENT_H */