00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef VRS_IO_US_SAX_INTERFACEHANDLER_H
00019 #define VRS_IO_US_SAX_INTERFACEHANDLER_H
00020
00021
00022
00023
00024 #include <xercesc/sax/HandlerBase.hpp>
00025
00026
00027
00028
00029 #include <vrs/opengl/gl2/us/handlerinterface.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 SAXInterfaceHandler : public HandlerBase
00044 {
00045 public:
00046
00047 SAXInterfaceHandler(SO<GL2::EXTSHADER::HandlerInterface> handlerInterface);
00048 ~SAXInterfaceHandler(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<GL2::EXTSHADER::HandlerInterface> handlerInterface_;
00058
00059 bool processHandlerInterface_;
00060 bool processHandlerInterfaceTypeName_;
00061 bool processHandlerInterfaceInstanceName_;
00062 bool processHandlerInterfaceCodeBlock_;
00063
00064 };
00065
00066 };
00067
00068 };
00069
00070 };
00071
00072 #endif //VRS_IO_US_SAX_INTERFACEHANDLER_H