diff options
author | Morten Johan Sørvig <morten.sorvig@digia.com> | 2013-10-31 13:03:24 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-11-05 17:37:05 +0100 |
commit | fc26b053df9cbf3886c4c6efc5a678fa1f60b20f (patch) | |
tree | c5900aa00aa49a3f6371e601d5a7a97c16baf879 /src/corelib/io/qurl.h | |
parent | 2eb1e28a90eaf82f4405dc65584021f16415014b (diff) |
Declare Cocoa conversion funcs in objc-mode only.
In practice, there are several ways to forward-declare
objective-c classes. Qt uses "struct objc_object",
other projects may use a plain "class". Mismatched
forward declarations will lead to compile errors,
and this is a form of header pollution.
dd5e40d9 added a workaround where Q_FORWARD_DECLARE_OBJC_CLASS
can be predefined in order to sync up the declarations.
Make forward declaration clashes less likely by
forward-declaring in objc-mode only.
Change-Id: I9f7a399d64dc88bfe05d5385b3d46b5302112aef
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Diffstat (limited to 'src/corelib/io/qurl.h')
-rw-r--r-- | src/corelib/io/qurl.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/corelib/io/qurl.h b/src/corelib/io/qurl.h index e7edb4365e..637eac87b6 100644 --- a/src/corelib/io/qurl.h +++ b/src/corelib/io/qurl.h @@ -51,8 +51,10 @@ #include <QtCore/qglobal.h> #ifdef Q_OS_MAC -Q_FORWARD_DECLARE_OBJC_CLASS(NSURL); Q_FORWARD_DECLARE_CF_TYPE(CFURL); +# ifdef __OBJC__ +Q_FORWARD_DECLARE_OBJC_CLASS(NSURL); +# endif #endif QT_BEGIN_NAMESPACE @@ -265,8 +267,10 @@ public: #if defined(Q_OS_MAC) || defined(Q_QDOC) static QUrl fromCFURL(CFURLRef url); CFURLRef toCFURL() const Q_DECL_CF_RETURNS_RETAINED; +# if defined(__OBJC__) || defined(Q_QDOC) static QUrl fromNSURL(const NSURL *url); NSURL *toNSURL() const Q_DECL_NS_RETURNS_AUTORELEASED; +# endif #endif #if QT_DEPRECATED_SINCE(5,0) |