00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 #ifndef SECURITYMANAGER_HPP
00022 #define SECURITYMANAGER_HPP
00023 
00024 #include <xercesc/util/XercesDefs.hpp>
00025 
00026 XERCES_CPP_NAMESPACE_BEGIN
00027 
00050 class  SecurityManager
00051 {
00052 public:
00053 
00054     enum { ENTITY_EXPANSION_LIMIT = 50000};
00055 
00059     SecurityManager()
00060         : fEntityExpansionLimit(ENTITY_EXPANSION_LIMIT)
00061     {        
00062     }
00063 
00065     virtual ~SecurityManager(){};   
00067 
00082     virtual void setEntityExpansionLimit(unsigned int newLimit) 
00083     {
00084         fEntityExpansionLimit = newLimit;
00085     }
00086 
00094     virtual unsigned int getEntityExpansionLimit() const
00095     { 
00096         return fEntityExpansionLimit;
00097     }
00099 
00100 protected:
00101     unsigned int fEntityExpansionLimit;
00102 
00103 private:
00104 
00105     
00106     
00107     SecurityManager(const SecurityManager&);
00108     
00110     SecurityManager& operator=(const SecurityManager&);
00111 };
00112 
00113 XERCES_CPP_NAMESPACE_END
00114 
00115 #endif