mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-04-07 01:13:50 +02:00
* Refactored routines for parsing/writing standard date/time strings (RFC822 and XML xs:dateTime formats) into 'lib/rddatetime.[cpp|h]. * Removed the 'RDWebDateTime()', 'RDGetWebDateTime()', 'RDGetWebDate()', 'RDGetWebTime()', 'RDGetWebMonth()', 'RDXmlDate()', 'RDXmlTime()', 'RDXmlDateTime()' and 'RDXmlTimeZoneSuffix()' functions from 'lib/rdweb.[cpp|h]. * Added a 'dateparse_test' test harness.
105 lines
4.0 KiB
C++
105 lines
4.0 KiB
C++
// rdweb.h
|
|
//
|
|
// Functions for interfacing with web components using the
|
|
// Common Gateway Interface (CGI) Standard
|
|
//
|
|
// (C) Copyright 1996-2007 Fred Gleason <fredg@paravelsystems.com>
|
|
//
|
|
// This program is free software; you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License version 2 as
|
|
// published by the Free Software Foundation.
|
|
//
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU General Public
|
|
// License along with this program; if not, write to the Free Software
|
|
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
//
|
|
|
|
#ifndef RDWEB_H
|
|
#define RDWEB_H
|
|
|
|
#include <map>
|
|
|
|
#include <qstring.h>
|
|
#include <qdatetime.h>
|
|
#include <qhostaddress.h>
|
|
#include <qstringlist.h>
|
|
|
|
#include <rdaudioconvert.h>
|
|
|
|
//
|
|
// Data Structure Sizes
|
|
//
|
|
#define CGI_ACCUM_SIZE 1024
|
|
#define RD_WEB_SESSION_TIMEOUT 900
|
|
|
|
//
|
|
// Function Prototypes
|
|
//
|
|
extern int RDReadPost(char *,int);
|
|
extern int RDPutPostString(char *,char *,char *,int);
|
|
extern int RDFindPostString(const char *,const char *,char *,int);
|
|
extern int RDGetPostString(const char *,const char *,char *,int);
|
|
extern int RDGetPostInt(const char *,const char *,int *);
|
|
extern int RDGetPostLongInt(const char *,const char *,long int *);
|
|
extern int RDPurgePostString(const char *,const char *,int);
|
|
extern int RDEncodeString(char *,int);
|
|
extern int RDEncodeSQLString(char *,int);
|
|
extern int RDDecodeString(char *);
|
|
extern int RDPutPlaintext(char *,int);
|
|
extern int RDPurgePlaintext(char *,int);
|
|
extern void RDCgiError(const char *str,int resp_code=200);
|
|
extern void RDXMLResult(const char *str,int resp_code,
|
|
RDAudioConvert::ErrorCode err=RDAudioConvert::ErrorOk);
|
|
extern int RDBufferDiff(char *,int,int,int);
|
|
extern void RDPruneAmp(char *);
|
|
extern int RDEscapeQuotes(const char *src,char *dest,int maxlen);
|
|
extern long int RDAuthenticateLogin(const QString &username,
|
|
const QString &passwd,
|
|
const QHostAddress &addr);
|
|
extern QString RDAuthenticateSession(long int session_id,
|
|
const QHostAddress &addr);
|
|
extern void RDLogoutSession(long int session_id,const QHostAddress &addr);
|
|
extern bool RDParsePost(std::map<QString,QString> *vars);
|
|
extern QString RDXmlField(const QString &tag,const QString &value,
|
|
const QString &attrs="");
|
|
extern QString RDXmlField(const QString &tag,const char *value,
|
|
const QString &attrs="");
|
|
extern QString RDXmlField(const QString &tag,const int value,
|
|
const QString &attrs="");
|
|
extern QString RDXmlField(const QString &tag,const unsigned value,
|
|
const QString &attrs="");
|
|
extern QString RDXmlField(const QString &tag,const bool value,
|
|
const QString &attrs="");
|
|
extern QString RDXmlField(const QString &tag,const QDateTime &value,
|
|
const QString &attrs="");
|
|
extern QString RDXmlField(const QString &tag,const QDate &value,
|
|
const QString &attrs="");
|
|
extern QString RDXmlField(const QString &tag,const QTime &value,
|
|
const QString &attrs="");
|
|
extern QString RDXmlField(const QString &tag);
|
|
extern QString RDXmlEscape(const QString &str);
|
|
extern QString RDXmlUnescape(const QString &str);
|
|
extern QString RDJsonPadding(int padding);
|
|
extern QString RDJsonNullField(const QString &name,int padding=0,
|
|
bool final=false);
|
|
extern QString RDJsonField(const QString &name,bool value,int padding=0,
|
|
bool final=false);
|
|
extern QString RDJsonField(const QString &name,int value,int padding=0,
|
|
bool final=false);
|
|
extern QString RDJsonField(const QString &name,unsigned value,int padding=0,
|
|
bool final=false);
|
|
extern QString RDJsonField(const QString &name,const QString &value,
|
|
int padding=0,bool final=false);
|
|
extern QString RDJsonField(const QString &name,const QDateTime &value,
|
|
int padding=0,bool final=false);
|
|
extern QString RDUrlEscape(const QString &str);
|
|
extern QString RDUrlUnescape(const QString &str);
|
|
|
|
|
|
#endif // RDWEB_H
|