![]() |
The Simons
|
00001 00002 // 00003 // SCL : Simons Component Library 00004 // 00006 // 00007 // Filename: WebOutput.h 00008 // Contents: WebOutput class 00009 // Author: Anthony J H Simons 00010 // Revised: 24 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_WEB_OUTPUT 00020 #define SCL_WEB_OUTPUT 00021 00022 #include "TextOutput.h" // Include my superclass type 00023 #include "WebOutputID.h" // Include my pointer type 00024 00025 #include "StringID.h" // Depend on the pointer type 00026 00038 00039 class WebOutput : public TextOutput { 00040 private: 00041 StringID pageName; 00042 protected: 00043 WebOutput(const WebOutput&); 00044 public: 00045 WebOutput(); 00046 virtual ~WebOutput(); 00047 WebOutput(StringID); 00048 virtual ObjectID clone() const; 00049 virtual Void open(); 00050 virtual Void close(); 00051 virtual Void openLog(); 00052 virtual Void openOn(StringID); 00053 virtual Void openLogOn(StringID); 00054 StringID page() const; 00055 virtual OutputID line(); 00056 virtual OutputID space(); 00057 virtual OutputID tab(); 00058 }; 00059 00061 00064 inline StringID WebOutput::page() const { 00065 return pageName; 00066 } 00067 00069 00072 inline WebOutputID::WebOutputID() {} 00073 00075 inline WebOutputID::~WebOutputID() {} 00076 00080 inline WebOutputID::WebOutputID(const Null* null) : 00081 TextOutputID(null) {} 00082 00086 inline WebOutputID::WebOutputID(const WebOutput* stream) : 00087 TextOutputID(stream) {} 00088 00092 inline WebOutputID::WebOutputID(const WebOutputID& pointer) : 00093 TextOutputID(pointer) {} 00094 00098 inline WebOutputID& WebOutputID::operator=(const WebOutput* stream) { 00099 assign(stream); 00100 return *this; 00101 } 00102 00107 inline WebOutputID& WebOutputID::operator=(const WebOutputID& pointer) { 00108 assign(pointer); 00109 return *this; 00110 } 00111 00112 00113 #endif 00114