1 | // Copyright (C) 2022 The Qt Company Ltd. |
2 | // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only |
3 | |
4 | #ifndef QTDARWINHELPERS_H |
5 | #define QTDARWINHELPERS_H |
6 | |
7 | #if 0 |
8 | #pragma qt_class(QtDarwinHelpers) |
9 | #pragma qt_sync_stop_processing |
10 | #endif |
11 | |
12 | /* |
13 | Utility macros and inline functions |
14 | */ |
15 | |
16 | #ifndef Q_FORWARD_DECLARE_OBJC_CLASS |
17 | # ifdef __OBJC__ |
18 | # define Q_FORWARD_DECLARE_OBJC_CLASS(classname) @class classname |
19 | # else |
20 | # define Q_FORWARD_DECLARE_OBJC_CLASS(classname) class classname |
21 | # endif |
22 | #endif |
23 | #ifndef Q_FORWARD_DECLARE_CF_TYPE |
24 | # define Q_FORWARD_DECLARE_CF_TYPE(type) typedef const struct __ ## type * type ## Ref |
25 | #endif |
26 | #ifndef Q_FORWARD_DECLARE_MUTABLE_CF_TYPE |
27 | # define Q_FORWARD_DECLARE_MUTABLE_CF_TYPE(type) typedef struct __ ## type * type ## Ref |
28 | #endif |
29 | #ifndef Q_FORWARD_DECLARE_CG_TYPE |
30 | # define Q_FORWARD_DECLARE_CG_TYPE(type) typedef const struct type *type##Ref |
31 | #endif |
32 | #ifndef Q_FORWARD_DECLARE_MUTABLE_CG_TYPE |
33 | # define Q_FORWARD_DECLARE_MUTABLE_CG_TYPE(type) typedef struct type *type##Ref |
34 | #endif |
35 | |
36 | |
37 | #endif // QTDARWINHELPERS_H |
38 | |