00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef VRS_US_IO_SAX_PROTOTYPEHANDLER_H
00019 #define VRS_US_IO_SAX_PROTOTYPEHANDLER_H
00020
00021
00022
00023
00024 #include <xercesc/sax/HandlerBase.hpp>
00025
00026
00027
00028
00029 #include <vrs/opengl/gl2/us/prototypehandlertable.h>
00030
00031
00032
00033
00034 XERCES_CPP_NAMESPACE_USE
00035
00036
00037 namespace VRS
00038 {
00039 namespace GL2
00040 {
00041 namespace EXTSHADER
00042 {
00043 class VRS_US_API SAXPrototypeHandler : public HandlerBase
00044 {
00045 public:
00046
00047 SAXPrototypeHandler(SO<GL2::EXTSHADER::PrototypeHandlerTable> prototypeHandlerTable);
00048 ~SAXPrototypeHandler(void);
00049
00050 void startElement(const XMLCh* const name, AttributeList& attributes);
00051 void endElement(const XMLCh* const name);
00052 void characters(const XMLCh* const chars, const unsigned int length);
00053 void resetDocument(void);
00054
00055 private:
00056
00057 SO<VRS::GL2::EXTSHADER::PrototypeHandlerTable> prototypeHandlerTable_;
00058
00059 bool processPrototypeHandlers_;
00060 bool processPrototypeHandler_;
00061
00062 };
00063
00064 };
00065
00066 };
00067
00068 };
00069
00070 #endif //VRS_US_IO_SAX_PROTOTYPEHANDLER_H