📄 httpform.h
字号:
};class PHTTPPasswordField : public PHTTPStringField{ PCLASSINFO(PHTTPPasswordField, PHTTPStringField) public: PHTTPPasswordField( const char * name, PINDEX size, const char * initVal = NULL, const char * help = NULL ); PHTTPPasswordField( const char * name, const char * title, PINDEX size, const char * initVal = NULL, const char * help = NULL ); virtual PHTTPField * NewField() const; virtual void GetHTMLTag( PHTML & html // HTML to receive the field info. ) const; virtual PString GetValue(BOOL dflt = FALSE) const; virtual void SetValue( const PString & newVal ); static PString Decrypt(const PString & pword);};class PHTTPIntegerField : public PHTTPField{ PCLASSINFO(PHTTPIntegerField, PHTTPField) public: PHTTPIntegerField( const char * name, int low, int high, int initVal = 0, const char * units = NULL, const char * help = NULL ); PHTTPIntegerField( const char * name, const char * title, int low, int high, int initVal = 0, const char * units = NULL, const char * help = NULL ); virtual PHTTPField * NewField() const; virtual void GetHTMLTag( PHTML & html // HTML to receive the field info. ) const; virtual PString GetValue(BOOL dflt = FALSE) const; virtual void SetValue( const PString & newVal ); virtual void LoadFromConfig( PConfig & cfg // Configuration for value transfer. ); virtual void SaveToConfig( PConfig & cfg // Configuration for value transfer. ) const; virtual BOOL Validated( const PString & newVal, PStringStream & msg ) const; protected: int low, high, value; int initialValue; PString units;};class PHTTPBooleanField : public PHTTPField{ PCLASSINFO(PHTTPBooleanField, PHTTPField) public: PHTTPBooleanField( const char * name, BOOL initVal = FALSE, const char * help = NULL ); PHTTPBooleanField( const char * name, const char * title, BOOL initVal = FALSE, const char * help = NULL ); virtual PHTTPField * NewField() const; virtual void GetHTMLTag( PHTML & html // HTML to receive the field info. ) const; virtual PString GetHTMLInput( const PString & input ) const; virtual PString GetValue(BOOL dflt = FALSE) const; virtual void SetValue( const PString & newVal ); virtual void LoadFromConfig( PConfig & cfg // Configuration for value transfer. ); virtual void SaveToConfig( PConfig & cfg // Configuration for value transfer. ) const; protected: BOOL value, initialValue;};class PHTTPRadioField : public PHTTPField{ PCLASSINFO(PHTTPRadioField, PHTTPField) public: PHTTPRadioField( const char * name, const PStringArray & valueArray, PINDEX initVal = 0, const char * help = NULL ); PHTTPRadioField( const char * name, const PStringArray & valueArray, const PStringArray & titleArray, PINDEX initVal = 0, const char * help = NULL ); PHTTPRadioField( const char * name, PINDEX count, const char * const * valueStrings, PINDEX initVal = 0, const char * help = NULL ); PHTTPRadioField( const char * name, PINDEX count, const char * const * valueStrings, const char * const * titleStrings, PINDEX initVal = 0, const char * help = NULL ); PHTTPRadioField( const char * name, const char * groupTitle, const PStringArray & valueArray, PINDEX initVal = 0, const char * help = NULL ); PHTTPRadioField( const char * name, const char * groupTitle, const PStringArray & valueArray, const PStringArray & titleArray, PINDEX initVal = 0, const char * help = NULL ); PHTTPRadioField( const char * name, const char * groupTitle, PINDEX count, const char * const * valueStrings, PINDEX initVal = 0, const char * help = NULL ); PHTTPRadioField( const char * name, const char * groupTitle, PINDEX count, const char * const * valueStrings, const char * const * titleStrings, PINDEX initVal = 0, const char * help = NULL ); virtual PHTTPField * NewField() const; virtual void GetHTMLTag( PHTML & html // HTML to receive the field info. ) const; virtual PString GetHTMLInput( const PString & input ) const; virtual PString GetValue(BOOL dflt = FALSE) const; virtual void SetValue( const PString & newVal ); protected: PStringArray values; PStringArray titles; PString value; PString initialValue;};class PHTTPSelectField : public PHTTPField{ PCLASSINFO(PHTTPSelectField, PHTTPField) public: PHTTPSelectField( const char * name, const PStringArray & valueArray, PINDEX initVal = 0, const char * help = NULL ); PHTTPSelectField( const char * name, PINDEX count, const char * const * valueStrings, PINDEX initVal = 0, const char * help = NULL ); PHTTPSelectField( const char * name, const char * title, const PStringArray & valueArray, PINDEX initVal = 0, const char * help = NULL ); PHTTPSelectField( const char * name, const char * title, PINDEX count, const char * const * valueStrings, PINDEX initVal = 0, const char * help = NULL ); virtual PHTTPField * NewField() const; virtual void GetHTMLTag( PHTML & html // HTML to receive the field info. ) const; virtual PString GetValue(BOOL dflt = FALSE) const; virtual void SetValue( const PString & newVal ); PStringArray values; protected: PString value; PINDEX initialValue;};///////////////////////////////////////////////////////////////////////////////// PHTTPFormclass PHTTPForm : public PHTTPString{ PCLASSINFO(PHTTPForm, PHTTPString) public: PHTTPForm( const PURL & url ); PHTTPForm( const PURL & url, const PHTTPAuthority & auth ); PHTTPForm( const PURL & url, const PString & html ); PHTTPForm( const PURL & url, const PString & html, const PHTTPAuthority & auth ); virtual void OnLoadedText( PHTTPRequest & request, // Information on this request. PString & text // Data used in reply. ); virtual BOOL Post( PHTTPRequest & request, // Information on this request. const PStringToString & data, // Variables in the POST data. PHTML & replyMessage // Reply message for post. ); PHTTPField * Add( PHTTPField * fld ); void RemoveAllFields() { fields.RemoveAll(); fieldNames.RemoveAll(); } enum BuildOptions { CompleteHTML, InsertIntoForm, InsertIntoHTML }; void BuildHTML( const char * heading ); void BuildHTML( const PString & heading ); void BuildHTML( PHTML & html, BuildOptions option = CompleteHTML ); protected: PHTTPCompositeField fields; PStringSet fieldNames;};//////////////////////////////////////////////////////////////////////////////// PHTTPConfigclass PHTTPConfig : public PHTTPForm{ PCLASSINFO(PHTTPConfig, PHTTPForm) public: PHTTPConfig( const PURL & url, const PString & section ); PHTTPConfig( const PURL & url, const PString & section, const PHTTPAuthority & auth ); PHTTPConfig( const PURL & url, const PString & section, const PString & html ); PHTTPConfig( const PURL & url, const PString & section, const PString & html, const PHTTPAuthority & auth ); virtual void OnLoadedText( PHTTPRequest & request, // Information on this request. PString & text // Data used in reply. ); virtual BOOL Post( PHTTPRequest & request, // Information on this request. const PStringToString & data, // Variables in the POST data. PHTML & replyMessage // Reply message for post. ); /** Load all of the values for the resource from the configuration. */ void LoadFromConfig(); /** Get the configuration file section that the page will alter. @return String for config file section. */ const PString & GetConfigSection() const { return section; } void SetConfigSection( const PString & sect // New section for the config page. ) { section = sect; } // Set the configuration file section. /** Add a field that will determine the name opf the secontion into which the other fields are to be added as keys. The section is not created and and error generated if the section already exists. */ PHTTPField * AddSectionField( PHTTPField * sectionFld, // Field to set as the section name const char * prefix = NULL, // String to attach before the field value const char * suffix = NULL // String to attach after the field value ); /** Add fields to the HTTP form for adding a new key to the config file section. */ void AddNewKeyFields( PHTTPField * keyFld, // Field for the key to be added. PHTTPField * valFld // Field for the value of the key yto be added. ); protected: PString section; PString sectionPrefix; PString sectionSuffix; PHTTPField * sectionField; PHTTPField * keyField; PHTTPField * valField; private: void Construct();};//////////////////////////////////////////////////////////////////////////////// PHTTPConfigSectionListclass PHTTPConfigSectionList : public PHTTPString{ PCLASSINFO(PHTTPConfigSectionList, PHTTPString) public: PHTTPConfigSectionList( const PURL & url, const PHTTPAuthority & auth, const PString & sectionPrefix, const PString & additionalValueName, const PURL & editSection, const PURL & newSection, const PString & newSectionTitle, PHTML & heading ); virtual void OnLoadedText( PHTTPRequest & request, // Information on this request. PString & text // Data used in reply. ); virtual BOOL Post( PHTTPRequest & request, // Information on this request. const PStringToString & data, // Variables in the POST data. PHTML & replyMessage // Reply message for post. ); protected: PString sectionPrefix; PString additionalValueName; PString newSectionLink; PString newSectionTitle; PString editSectionLink;};#endif// End Of File ///////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -