Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

XMLComposedComponentPrototypeSAXHandler.h

Go to the documentation of this file.
00001 
00039 #ifndef _AMIRE_PERSISTENCE_XML_COMPOSED_COMPONENT_PROTOTYPE_SAX_HANDLER_H
00040 #define _AMIRE_PERSISTENCE_XML_COMPOSED_COMPONENT_PROTOTYPE_SAX_HANDLER_H
00041 
00042 #include <amire/property/Property.h>
00043 #include <amire/property/PropertyType.h>
00044 #include <amire/component/ComponentManager.h>
00045 #include <amire/component/ComponentState.h>
00046 #include <amire/persistence/XMLSpecializedSAXHandler.h>
00047 #include <amire/persistence/XMLBaseSAXHandler.h>
00048 #include <amire/persistence/XMLComposedComponentPrototypeDictionary.h>
00049 
00050 #include <stack>
00051  
00052 namespace amire {
00053   namespace persistence {
00054            
00055     class AMIRE_EXPORT_API XMLComposedComponentPrototypeSAXHandler : public XMLSpecializedSAXHandler, public XMLComposedComponentPrototypeDictionary {
00056       private:                         
00057         osg::ref_ptr <amire::component::Component> currentComponentNode;
00058         std::string buffer;
00059         std::stack<amire::component::Component * > componentStack;
00060         std::stack<std::string> internalComponentNameStackStack;
00061                                                 
00062       public:   
00063         
00064         XMLComposedComponentPrototypeSAXHandler(amire::component::ComponentManager * aComponentManager);
00065         XMLComposedComponentPrototypeSAXHandler(const amire::persistence::XMLComposedComponentPrototypeSAXHandler& handler);             
00066         virtual ~XMLComposedComponentPrototypeSAXHandler();
00067         
00068         virtual void startElement (    
00069           const   XMLCh* const    uri,
00070           const   XMLCh* const    localname,
00071           const   XMLCh* const    qname,
00072           const   Attributes&     attrs    
00073         );    
00074         virtual void endElement(
00075                       const XMLCh* const uri,
00076                       const XMLCh* const localname,
00077                       const XMLCh* const qname
00078               );
00079           virtual void characters(
00080             const   XMLCh* const characters , 
00081             const   unsigned int length
00082           );
00083         private:
00084           amire::component::ComponentContext*  getContext();  
00085         friend amire::persistence::XMLBaseSAXHandler;                                         
00086     };
00087   }
00088 }
00089 #endif

Generated on Tue May 20 17:23:54 2003 for AMIRE-Framework by doxygen1.3