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

XMLDependencySAXHandler.h

Go to the documentation of this file.
00001 
00040 #ifndef _AMIRE_PERSISTENCE_XML_DEPENDENCY_SAX_HANDLER_H
00041 #define _AMIRE_PERSISTENCE_XML_DEPENDENCY_SAX_HANDLER_H
00042 
00043 #include <amire/property/Property.h>
00044 #include <amire/property/PropertyType.h>
00045 #include <amire/component/ComponentManager.h>
00046 #include <amire/persistence/XMLSpecializedSAXHandler.h>
00047 #include <amire/persistence/XMLDependencyDictionary.h>
00048 #include <amire/persistence/DependencyHandler.h>
00049 #include <stack>
00050  
00051 namespace amire {
00052   namespace persistence {
00053         
00054     class AMIRE_EXPORT_API XMLDependencySAXHandler : public XMLSpecializedSAXHandler, public XMLDependencyDictionary, public DependencyHandler {
00055       private:                            
00056         const std::vector<std::string> &preparseSchemaURIs;                               
00057       public:   
00058         
00059         XMLDependencySAXHandler(amire::component::ComponentManager * aComponentManager, const std::vector<std::string>& somePreparseSchemaURIs);
00060         XMLDependencySAXHandler(const amire::persistence::XMLDependencySAXHandler& handler);                             
00061         virtual ~XMLDependencySAXHandler();
00062         
00063         virtual void startElement (    
00064           const   XMLCh* const    uri,
00065           const   XMLCh* const    localname,
00066           const   XMLCh* const    qname,
00067           const   Attributes&     attrs    
00068         );    
00069         virtual void endElement(
00070                       const XMLCh* const uri,
00071                       const XMLCh* const localname,
00072                       const XMLCh* const qname
00073               );                 
00074         
00075         const std::vector<std::string>& getPreparseSchemaURIs() const {
00076           return preparseSchemaURIs;
00077         }
00078         
00079         virtual void loadDependency(const std::string& dependencyName);
00080         
00081       private:
00082         std::string retrieveFullFileName(std::string aLibraryFileName);
00083         std::string retrieveFullFileName(std::string aLibraryFileName, std::string aLibraryPathVariable);
00084         
00085     };
00086   }
00087 }
00088 #endif

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