00001 /* 00002 * Copyright 1999-2000,2004 The Apache Software Foundation. 00003 * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); 00005 * you may not use this file except in compliance with the License. 00006 * You may obtain a copy of the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, 00012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 * See the License for the specific language governing permissions and 00014 * limitations under the License. 00015 */ 00016 00017 /* 00018 * $Log: StdInInputSource.hpp,v $ 00019 * Revision 1.5 2004/09/08 13:55:58 peiyongz 00020 * Apache License Version 2.0 00021 * 00022 * Revision 1.4 2004/01/29 11:46:29 cargilld 00023 * Code cleanup changes to get rid of various compiler diagnostic messages. 00024 * 00025 * Revision 1.3 2003/05/16 21:36:55 knoaman 00026 * Memory manager implementation: Modify constructors to pass in the memory manager. 00027 * 00028 * Revision 1.2 2002/11/04 15:00:21 tng 00029 * C++ Namespace Support. 00030 * 00031 * Revision 1.1.1.1 2002/02/01 22:21:50 peiyongz 00032 * sane_include 00033 * 00034 * Revision 1.6 2000/12/14 18:49:55 tng 00035 * Fix API document generation warning: "Warning: end of member group without matching begin" 00036 * 00037 * Revision 1.5 2000/02/24 20:00:22 abagchi 00038 * Swat for removing Log from API docs 00039 * 00040 * Revision 1.4 2000/02/15 23:59:06 roddey 00041 * More updated documentation of Framework classes. 00042 * 00043 * Revision 1.3 2000/02/15 01:21:30 roddey 00044 * Some initial documentation improvements. More to come... 00045 * 00046 * Revision 1.2 2000/02/06 07:47:46 rahulj 00047 * Year 2K copyright swat. 00048 * 00049 * Revision 1.1 2000/01/12 00:13:26 roddey 00050 * These were moved from internal/ to framework/, which was something that should have 00051 * happened long ago. They are really framework type of classes. 00052 * 00053 * Revision 1.1.1.1 1999/11/09 01:08:17 twl 00054 * Initial checkin 00055 * 00056 * Revision 1.2 1999/11/08 20:44:44 rahul 00057 * Swat for adding in Product name and CVS comment log variable. 00058 * 00059 */ 00060 00061 00062 #if !defined(STDININPUTSOURCE_HPP) 00063 #define STDININPUTSOURCE_HPP 00064 00065 #include <xercesc/sax/InputSource.hpp> 00066 00067 XERCES_CPP_NAMESPACE_BEGIN 00068 00069 class BinInputStream; 00070 00071 00082 class StdInInputSource : public InputSource 00083 { 00084 public : 00085 // ----------------------------------------------------------------------- 00086 // Constructors and Destructor 00087 // ----------------------------------------------------------------------- 00088 00091 00098 StdInInputSource(MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager); 00100 00103 ~StdInInputSource(); 00105 00106 00107 // ----------------------------------------------------------------------- 00108 // Virtual input source interface 00109 // ----------------------------------------------------------------------- 00110 00111 00114 00122 BinInputStream* makeStream() const; 00123 00125 00126 private: 00127 // ----------------------------------------------------------------------- 00128 // Unimplemented constructors and operators 00129 // ----------------------------------------------------------------------- 00130 StdInInputSource(const StdInInputSource&); 00131 StdInInputSource& operator=(const StdInInputSource&); 00132 00133 }; 00134 00135 inline StdInInputSource::StdInInputSource(MemoryManager* const manager) : 00136 00137 InputSource("stdin", manager) 00138 { 00139 } 00140 00141 inline StdInInputSource::~StdInInputSource() 00142 { 00143 } 00144 00145 XERCES_CPP_NAMESPACE_END 00146 00147 #endif