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

XMLComponentInstanceSAXHandler.h

Go to the documentation of this file.
00001 
00039 #ifndef _AMIRE_PERSISTENCE_XML_COMPONENT_INSTANCE_SAX_HANDLER_H
00040 #define _AMIRE_PERSISTENCE_XML_COMPONENT_INSTANCE_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/XMLComponentInstanceDictionary.h>
00049 #include <stack>
00050  
00051 namespace amire {
00052   namespace persistence {
00053            
00054     class AMIRE_EXPORT_API XMLComponentInstanceSAXHandler : public XMLSpecializedSAXHandler, public XMLComponentInstanceDictionary {
00055       private:
00056         
00057         const amire::property::PropertyType *stringPropertyType;
00058         const amire::property::PropertyType *booleanPropertyType;
00059         const amire::property::PropertyType *charPropertyType;
00060         const amire::property::PropertyType *integerPropertyType;
00061         const amire::property::PropertyType *doublePropertyType;
00062         const amire::property::PropertyType *floatPropertyType;
00063              
00064         amire::component::Component * currentComponentNode;
00065         osg::ref_ptr<const amire::component::ComponentState> currentState; 
00066         std::stack<osg::ref_ptr <amire::property::Property> > propertyStack;        
00067         std::stack<std::string> fieldStack;
00068         std::string buffer;
00069                                                 
00070       public:   
00071         
00072         XMLComponentInstanceSAXHandler(amire::component::ComponentManager * aComponentManager);
00073         XMLComponentInstanceSAXHandler(const amire::persistence::XMLComponentInstanceSAXHandler& handler);             
00074         virtual ~XMLComponentInstanceSAXHandler();
00075         
00076         virtual void startElement (    
00077           const   XMLCh* const    uri,
00078           const   XMLCh* const    localname,
00079           const   XMLCh* const    qname,
00080           const   Attributes&     attrs    
00081         );    
00082         virtual void endElement(
00083                       const XMLCh* const uri,
00084                       const XMLCh* const localname,
00085                       const XMLCh* const qname
00086               );
00087           virtual void characters(
00088             const   XMLCh* const characters , 
00089             const   unsigned int length
00090           );      
00091          
00092          friend amire::persistence::XMLBaseSAXHandler;                   
00093     };
00094   }
00095 }
00096 #endif

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