00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 #ifndef INPUTSOURCE_HPP
00023 #define INPUTSOURCE_HPP
00024 
00025 #include <xercesc/util/PlatformUtils.hpp>
00026 
00027 XERCES_CPP_NAMESPACE_BEGIN
00028 
00029 class BinInputStream;
00030 
00031 
00062 class  InputSource : public XMemory
00063 {
00064 public:
00065     
00066     
00067     
00074     virtual ~InputSource();
00076 
00077 
00078     
00091     virtual BinInputStream* makeStream() const = 0;
00092 
00094 
00095 
00096     
00108     virtual const XMLCh* getEncoding() const;
00109 
00110 
00117     virtual const XMLCh* getPublicId() const;
00118 
00119 
00128     virtual const XMLCh* getSystemId() const;
00129 
00138     virtual bool getIssueFatalErrorIfNotFound() const;
00139 
00140     MemoryManager* getMemoryManager() const;
00141 
00143 
00144 
00145     
00148 
00160     virtual void setEncoding(const XMLCh* const encodingStr);
00161 
00162 
00174     virtual void setPublicId(const XMLCh* const publicId);
00175 
00192     virtual void setSystemId(const XMLCh* const systemId);
00193 
00203     virtual void setIssueFatalErrorIfNotFound(const bool flag);
00204 
00206 
00207 
00208 protected :
00209     
00210     
00211     
00215     InputSource(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
00216 
00222     InputSource(const XMLCh* const systemId,
00223                 MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
00224 
00231     InputSource
00232     (
00233         const   XMLCh* const   systemId
00234         , const XMLCh* const   publicId
00235         , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
00236     );
00237 
00243     InputSource(const char* const systemId,
00244                 MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager);
00245 
00252     InputSource
00253     (
00254         const   char* const systemId
00255         , const char* const publicId
00256         , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
00257     );
00258 
00260 
00261 
00262 
00263 
00264 
00265 private:
00266     
00267     
00268     
00269     InputSource(const InputSource&);
00270     InputSource& operator=(const InputSource&);
00271 
00272 
00273     
00274     
00275     
00276     
00277     
00278     
00279     
00280     
00281     
00282     
00283     
00284     
00285     
00286     
00287     
00288     
00289     
00290     
00291     MemoryManager* const fMemoryManager;
00292     XMLCh*         fEncoding;
00293     XMLCh*         fPublicId;
00294     XMLCh*         fSystemId;
00295     bool           fFatalErrorIfNotFound;
00296 };
00297 
00298 
00299 
00300 
00301 
00302 inline const XMLCh* InputSource::getEncoding() const
00303 {
00304     return fEncoding;
00305 }
00306 
00307 inline const XMLCh* InputSource::getPublicId() const
00308 {
00309     return fPublicId;
00310 }
00311 
00312 inline const XMLCh* InputSource::getSystemId() const
00313 {
00314     return fSystemId;
00315 }
00316 
00317 inline bool InputSource::getIssueFatalErrorIfNotFound() const
00318 {
00319     return fFatalErrorIfNotFound;
00320 }
00321 
00322 inline MemoryManager* InputSource::getMemoryManager() const
00323 {
00324     return fMemoryManager;
00325 }
00326 
00327 
00328 
00329 
00330 inline void InputSource::setIssueFatalErrorIfNotFound(const bool flag)
00331 {
00332     fFatalErrorIfNotFound = flag;
00333 }
00334 
00335 XERCES_CPP_NAMESPACE_END
00336 
00337 #endif