rtEXIEvent.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2008 Objective Systems, Inc.
00003  *
00004  * This software is furnished under a license and may be used and copied
00005  * only in accordance with the terms of such license and with the
00006  * inclusion of the above copyright notice. This software or any other
00007  * copies thereof may not be provided or otherwise made available to any
00008  * other person. No title to and ownership of the software is hereby
00009  * transferred.
00010  *
00011  * The information in this software is subject to change without notice
00012  * and should not be construed as a commitment by Objective Systems, Inc.
00013  *
00014  * PROPRIETARY NOTICE
00015  *
00016  * This software is an unpublished work subject to a confidentiality agreement
00017  * and is protected by copyright and trade secret law.  Unauthorized copying,
00018  * redistribution or other use of this work is prohibited.
00019  *
00020  * The above notice of copyright on this source code product does not indicate
00021  * any actual or intended publication of such source code.
00022  *
00023  *****************************************************************************/
00028 #ifndef _RTEXIEVENT_H_
00029 #define _RTEXIEVENT_H_
00030 
00031 #include "rtexisrc/rtEXIExternDefs.h"
00032 #include "rtxsrc/rtxXmlQName.h"
00033 
00034 #ifdef __cplusplus
00035 extern "C" {
00036 #endif
00037 
00045 typedef enum { 
00046    SD, ED, SE, EE, AT, CH, NS, CM, PI, DT, ER, SC, _goto, _rep 
00047 } OSEXIEventType;
00048 
00049 typedef struct _OSEXIEvent {
00050     
00054    OSEXIEventType type;
00055     
00060    OSXMLFullQName* qname;
00061 
00062 } OSEXIEvent;
00063 
00064 extern const OSEXIEvent gc_SD;
00065 extern const OSEXIEvent gc_ED;
00066 extern const OSEXIEvent gc_SE;
00067 extern const OSEXIEvent gc_EE;
00068 extern const OSEXIEvent gc_AT;
00069 extern const OSEXIEvent gc_CH;
00070 extern const OSEXIEvent gc_NS;
00071 extern const OSEXIEvent gc_CM;
00072 extern const OSEXIEvent gc_PI;
00073 extern const OSEXIEvent gc_DT;
00074 extern const OSEXIEvent gc_ER;
00075 extern const OSEXIEvent gc_AT_XSITYPE;
00076 extern const OSEXIEvent gc_AT_XSINIL;
00077 extern const OSEXIEvent gc_SC;
00078 
00087 EXTERNEXI void rtEXIEventInit 
00088 (OSCTXT* pctxt, OSEXIEvent* pEvent, OSEXIEventType type, 
00089  const OSXMLFullQName* qname);
00090 
00100 EXTERNEXI OSEXIEvent* rtEXINewEvent 
00101 (OSCTXT* pctxt, OSEXIEventType type, const OSXMLFullQName* qname);
00102 
00113 EXTERNEXI OSEXIEvent* rtEXINewEventDeepCopy 
00114 (OSCTXT* pctxt, const OSEXIEvent* pEvent);
00115 
00124 EXTERNEXI void rtEXIEventDeepCopy 
00125 (OSCTXT* pctxt, OSEXIEvent* pdest, const OSEXIEvent* psrc);
00126 
00135 EXTERNEXI void rtEXIEventFreeMem 
00136 (OSCTXT* pctxt, OSEXIEvent* pEvent, OSBOOL dynamic);
00137 
00144 EXTERNEXI OSUINT32 rtEXIEventHash (const OSEXIEvent* pEvent);
00145 
00153 EXTERNEXI OSBOOL rtEXIEventsEqual 
00154 (const OSEXIEvent* pEvent1, const OSEXIEvent* pEvent2);
00155 
00164 EXTERNEXI const OSEXIEvent* rtEXIGetBaseEvent (const OSEXIEvent* pEvent);
00165 
00174 EXTERNEXI const char* rtEXIEventTypeToString (OSEXIEventType type);
00175 
00185 EXTERNEXI OSUTF8CHAR* rtEXIEventToString 
00186 (OSCTXT* pctxt, const OSEXIEvent* pEvent);
00187 
00193 EXTERNEXI void rtEXIEventPrint (const OSEXIEvent* pEvent);
00194 
00195 #ifdef __cplusplus
00196 }
00197 #endif
00198 
00199 #endif