QDjango
QDjangoUrlResolver.h
1 /*
2  * Copyright (C) 2010-2015 Jeremy LainĂ©
3  * Contact: https://github.com/jlaine/qdjango
4  *
5  * This file is part of the QDjango Library.
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  */
17 
18 #ifndef QDJANGO_URL_RESOLVER_H
19 #define QDJANGO_URL_RESOLVER_H
20 
21 #include <QObject>
22 #include <QVariant>
23 
24 #include "QDjangoHttp_p.h"
25 
26 class QDjangoHttpRequest;
28 class QDjangoUrlResolverPrivate;
29 class QRegExp;
30 
35 class QDJANGO_HTTP_EXPORT QDjangoUrlResolver : public QObject
36 {
37  Q_OBJECT
38 
39 public:
40  QDjangoUrlResolver(QObject *parent = 0);
42 
43  bool include(const QRegExp &path, QDjangoUrlResolver *urls);
44  bool set(const QRegExp &path, QObject *receiver, const char *member);
45  QString reverse(QObject *receiver, const char *member, const QVariantList &args = QVariantList()) const;
46 
47 public slots:
48  QDjangoHttpResponse* respond(const QDjangoHttpRequest &request, const QString &path) const;
49 
50 private:
51  QDjangoUrlResolverPrivate *d;
52  friend class QDjangoUrlResolverPrivate;
53 };
54 
55 
56 #endif
The QDjangoHttpResponse class represents an HTTP response.
Definition: QDjangoHttpResponse.h:31
The QDjangoUrlResolver class maps incoming HTTP requests to handlers.
Definition: QDjangoUrlResolver.h:35
The QDjangoHttpRequest class represents an HTTP request.
Definition: QDjangoHttpRequest.h:31