Documents > BPS V2 C++ API
bpsmderequest.h
Go to the documentation of this file.
00001 
00004 #ifndef BPSMDEREQUEST_H
00005 #define BPSMDEREQUEST_H
00006 
00007 #include "bps.h"
00008 #include <QMap>
00009 #include <QObject>
00010 
00011 class QTcpSocket;
00012 class QTextStream;
00013 
00020 class BPSCORE_EXPORT BpsMdeRequest : public QObject
00021 {
00022     Q_OBJECT
00023     BPS_PRIVATE(BpsMdeRequest)
00024 
00025 public:
00026 
00032     enum Method {
00033         GET,        
00034         POST,       
00035         HEAD,       
00036         PUT,        
00037         DELETE,     
00038         TRACE,      
00039         OPTIONS,    
00040         CONNECT     
00041     };
00042 
00046     enum MimeType {
00047         M_html,     
00048         M_css,      
00049         M_js,       
00050         M_htc,      
00051         M_ico,      
00052         M_png,      
00053         M_gif,      
00054         M_jpg       
00055     };
00056 
00060     enum Status {
00061         S_OK            = 200,  
00062         S_SeeOther      = 303,  
00063         S_Forbidden     = 403,  
00064         S_NotFound      = 404,  
00065         S_NotAllowed    = 405,  
00066         S_ServerError   = 500   
00067     }; 
00068 
00074     BpsMdeRequest(QTcpSocket* aSocket, QObject* aParent = 0);
00075 
00076     virtual ~BpsMdeRequest();
00077 
00081     QTcpSocket* socket() const;
00082 
00086     QTextStream& html();
00087 
00091     QString endl() const;
00092 
00096     qlonglong sessionId() const;
00097 
00104     void setSessionId(qlonglong aSessionId);
00105 
00109     QString protocol() const;
00110 
00114     Method method() const;
00115 
00119     QString methodAsText() const;
00120 
00124     Status status() const;
00125 
00130     void setStatus(Status aStatus);
00131 
00135     MimeType mimeType() const;
00136 
00141     void setMimeType(MimeType aMimeType);
00142 
00146     QString path() const;
00147 
00151     QString host() const;
00152 
00158     QVariantMap params() const;
00159 
00163     QByteArray data() const;
00164     
00169     void setData(const QByteArray& aData);
00170 
00174     QString location() const;
00175     
00180     void setLocation(const QString& aLocation);
00181 
00187     void setMaxAge(quint32 aSeconds);
00188 
00189 
00193     bool mustClose() const;
00194 
00198     void setMustClose();
00199 
00207     void redirect(const QString& aPath = QString());
00208 
00212     void sendReply();
00213 
00219     static MimeType getMimeType(const QString& aPath);
00220 
00226     static QString httpDate(const QDateTime& aUtcDateTime);
00227 };
00228 
00229 #endif // BPSMDEREQUEST_H