00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _HTMLATTRIBUTE_H_
00025 #define _HTMLATTRIBUTE_H_ 1
00026
00027 #ifdef __GNUG__
00028 # pragma interface
00029 #endif
00030
00041 #include <string>
00042 #include <iostream>
00043
00044 #include "cgicc/CgiDefs.h"
00045 #include "cgicc/MStreamable.h"
00046
00047 namespace cgicc {
00048
00049
00050
00051
00052
00071 class CGICC_API HTMLAttribute : public MStreamable
00072 {
00073 public:
00074
00075
00076
00079
00085 HTMLAttribute();
00086
00093 HTMLAttribute(const std::string& name);
00094
00102 HTMLAttribute(const std::string& name,
00103 const std::string& value);
00104
00111 HTMLAttribute(const HTMLAttribute& attribute);
00112
00118 virtual ~HTMLAttribute();
00120
00121
00122
00125
00133 bool
00134 operator== (const HTMLAttribute& att) const;
00135
00143 inline bool
00144 operator!= (const HTMLAttribute& att) const
00145 { return ! operator==(att); }
00146
00147 #ifdef WIN32
00148
00149 inline bool
00150 operator< (const HTMLAttribute& att) const
00151 { return false; }
00152 #endif
00153
00161 HTMLAttribute&
00162 operator= (const HTMLAttribute& att);
00164
00165
00166
00171
00178 inline std::string
00179 getName() const
00180 { return fName; }
00181
00188 inline std::string
00189 getValue() const
00190 { return fValue; }
00192
00193
00194
00199
00206 inline void
00207 setName(const std::string& name)
00208 { fName = name; }
00209
00216 inline void
00217 setValue(const std::string& value)
00218 { fValue = value; }
00220
00227 virtual void
00228 render(std::ostream& out) const;
00229
00230 private:
00231 std::string fName;
00232 std::string fValue;
00233 };
00234
00235 }
00236
00237 #endif