summaryrefslogtreecommitdiff
path: root/qt4/TelepathyQt4/global.h
diff options
context:
space:
mode:
Diffstat (limited to 'qt4/TelepathyQt4/global.h')
-rw-r--r--qt4/TelepathyQt4/global.h103
1 files changed, 103 insertions, 0 deletions
diff --git a/qt4/TelepathyQt4/global.h b/qt4/TelepathyQt4/global.h
new file mode 100644
index 000000000..69de68b42
--- /dev/null
+++ b/qt4/TelepathyQt4/global.h
@@ -0,0 +1,103 @@
+/**
+ * This file is part of TelepathyQt4
+ *
+ * @copyright Copyright (C) 2009 Collabora Ltd. <http://www.collabora.co.uk/>
+ * @copyright Copyright (C) 2009 Nokia Corporation
+ * @license LGPL 2.1
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef _TelepathyQt4_global_h_HEADER_GUARD_
+#define _TelepathyQt4_global_h_HEADER_GUARD_
+
+#ifndef IN_TELEPATHY_QT4_HEADER
+#error IN_TELEPATHY_QT4_HEADER
+#endif
+
+#include <QtGlobal>
+
+#ifdef BUILDING_TELEPATHY_QT4
+# define TELEPATHY_QT4_EXPORT Q_DECL_EXPORT
+#else
+# define TELEPATHY_QT4_EXPORT Q_DECL_IMPORT
+#endif
+
+#if !defined(Q_OS_WIN) && defined(QT_VISIBILITY_AVAILABLE)
+# define TELEPATHY_QT4_NO_EXPORT __attribute__((visibility("hidden")))
+#endif
+
+#ifndef TELEPATHY_QT4_NO_EXPORT
+# define TELEPATHY_QT4_NO_EXPORT
+#endif
+
+/**
+ * @def TELEPATHY_QT4_DEPRECATED
+ * @ingroup TELEPATHY_QT4_MACROS
+ *
+ * The TELEPATHY_QT4_DEPRECATED macro can be used to trigger compile-time
+ * warnings with newer compilers when deprecated functions are used.
+ *
+ * For non-inline functions, the macro gets inserted at front of the
+ * function declaration, right before the return type:
+ *
+ * \code
+ * TELEPATHY_QT4_DEPRECATED void deprecatedFunctionA();
+ * TELEPATHY_QT4_DEPRECATED int deprecatedFunctionB() const;
+ * \endcode
+ *
+ * For functions which are implemented inline,
+ * the TELEPATHY_QT4_DEPRECATED macro is inserted at the front, right before the
+ * return type, but after "static", "inline" or "virtual":
+ *
+ * \code
+ * TELEPATHY_QT4_DEPRECATED void deprecatedInlineFunctionA() { .. }
+ * virtual TELEPATHY_QT4_DEPRECATED int deprecatedInlineFunctionB() { .. }
+ * static TELEPATHY_QT4_DEPRECATED bool deprecatedInlineFunctionC() { .. }
+ * inline TELEPATHY_QT4_DEPRECATED bool deprecatedInlineFunctionD() { .. }
+ * \endcode
+ *
+ * You can also mark whole structs or classes as deprecated, by inserting the
+ * TELEPATHY_QT4_DEPRECATED macro after the struct/class keyword, but before the
+ * name of the struct/class:
+ *
+ * \code
+ * class TELEPATHY_QT4_DEPRECATED DeprecatedClass { };
+ * struct TELEPATHY_QT4_DEPRECATED DeprecatedStruct { };
+ * \endcode
+ *
+ * \note
+ * It does not make much sense to use the TELEPATHY_QT4_DEPRECATED keyword for a
+ * Qt signal; this is because usually get called by the class which they belong
+ * to, and one would assume that a class author does not use deprecated methods
+ * of his own class. The only exception to this are signals which are connected
+ * to other signals; they get invoked from moc-generated code. In any case,
+ * printing a warning message in either case is not useful.
+ * For slots, it can make sense (since slots can be invoked directly) but be
+ * aware that if the slots get triggered by a signal, they will get called from
+ * moc code as well and thus the warnings are useless.
+ *
+ * \note
+ * TELEPATHY_QT4_DEPRECATED cannot be used for constructors.
+ */
+#ifndef TELEPATHY_QT4_DEPRECATED
+# ifdef TELEPATHY_QT4_DEPRECATED_WARNINGS
+# define TELEPATHY_QT4_DEPRECATED Q_DECL_DEPRECATED
+# else
+# define TELEPATHY_QT4_DEPRECATED
+# endif
+#endif
+
+#endif