![]() |
The Simons
|
00001 00002 // 00003 // SCL : Simons Component Library 00004 // 00006 // 00007 // Filename: CGIReader.h 00008 // Contents: CGIReader class 00009 // Author: Anthony J H Simons 00010 // Revised: 23 March 2006 00011 00012 // This software is distributed free in the hope that others will 00013 // find it useful. However, it comes WITHOUT ANY WARRANTY. No 00014 // liability can be accepted for software failure, merchantability 00015 // or fitness for a particular purpose. You can redistribute this 00016 // software in its original form, or in a modified form, provided 00017 // that this disclaimer is retained in the file banner. 00018 00019 #ifndef SCL_CGI_READER 00020 #define SCL_CGI_READER 00021 00022 #include "Reader.h" // Include my superclass type 00023 #include "CGIReaderID.h" // Include my pointer type 00024 00025 #include "StringID.h" // Depends on these pointer types 00026 00042 00043 00044 class CGIReader : public Reader { 00045 private: 00046 CGIReader(const CGIReader&); 00047 StringID decode(StringID) const; 00048 Integer unhex(Character) const; 00049 public: 00050 CGIReader(); 00051 virtual ~CGIReader(); 00052 virtual ObjectID clone() const; 00053 virtual Void openOn(StringID); 00054 virtual ReaderID getField(StringID, ObjectID&); 00055 }; 00056 00058 00059 00061 00064 inline CGIReaderID::CGIReaderID() {} 00065 00067 inline CGIReaderID::~CGIReaderID() {} 00068 00072 inline CGIReaderID::CGIReaderID(const Null* null) : 00073 ReaderID(null) {} 00074 00078 inline CGIReaderID::CGIReaderID(const CGIReader* stream) : 00079 ReaderID(stream) {} 00080 00084 inline CGIReaderID::CGIReaderID(const CGIReaderID& pointer) : 00085 ReaderID(pointer) {} 00086 00090 inline CGIReaderID& CGIReaderID::operator=(const CGIReader* stream) { 00091 assign(stream); 00092 return *this; 00093 } 00094 00099 inline CGIReaderID& CGIReaderID::operator=(const CGIReaderID& pointer) { 00100 assign(pointer); 00101 return *this; 00102 } 00103 00104 00105 #endif 00106