atk/Makefile.am: Dist atk.rc
[platform/upstream/atk.git] / atk / atkmisc.h
old mode 100755 (executable)
new mode 100644 (file)
index 6e22a19..0707b04
  * Boston, MA 02111-1307, USA.
  */
 
-#ifndef __ATK_UTIL_H__
-#define __ATK_UTIL_H__
+#ifndef __ATK_MISC_H__
+#define __ATK_MISC_H__
+
+#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined (__ATK_H_INSIDE__) && !defined (ATK_COMPILATION)
+#error "Only <atk/atk.h> can be included directly."
+#endif
 
 #include <glib-object.h>
+#include <atk/atkversion.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+/* We prefix variable declarations so they can
+ * properly get exported in Windows DLLs.
+ */
+#ifndef ATK_VAR
+#  ifdef G_PLATFORM_WIN32
+#    ifdef ATK_STATIC_COMPILATION
+#      define ATK_VAR extern
+#    else /* !ATK_STATIC_COMPILATION */
+#      ifdef ATK_COMPILATION
+#        ifdef DLL_EXPORT
+#          define ATK_VAR _ATK_EXTERN
+#        else /* !DLL_EXPORT */
+#          define ATK_VAR extern
+#        endif /* !DLL_EXPORT */
+#      else /* !ATK_COMPILATION */
+#        define ATK_VAR extern __declspec(dllimport)
+#      endif /* !ATK_COMPILATION */
+#    endif /* !ATK_STATIC_COMPILATION */
+#  else /* !G_PLATFORM_WIN32 */
+#    define ATK_VAR _ATK_EXTERN
+#  endif /* !G_PLATFORM_WIN32 */
+#endif /* ATK_VAR */
+
+G_BEGIN_DECLS
 
 #define ATK_TYPE_MISC                   (atk_misc_get_type ())
 #define ATK_IS_MISC(obj)                G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_MISC)
@@ -49,9 +75,20 @@ struct _AtkMisc
  * Singleton instance - only the ATK implementation layer for
  * a given GUI toolkit/application instance should touch this
  * symbol directly.
+ *
+ * Deprecated: Since 2.12.
  */
-extern AtkMisc *atk_misc_instance;
+ATK_VAR AtkMisc *atk_misc_instance;
 
+/**
+ * AtkMiscClass:
+ * @threads_enter: This virtual function is deprecated since 2.12 and
+ *   it should not be overriden.
+ * @threads_leave: This virtual function is deprecated sice 2.12 and
+ *   it should not be overriden.
+ *
+ * Usage of AtkMisc is deprecated since 2.12 and heavily discouraged.
+ */
 struct _AtkMiscClass
 {
    GObjectClass parent;
@@ -59,32 +96,17 @@ struct _AtkMiscClass
    void   (* threads_leave)                     (AtkMisc *misc);
    gpointer vfuncs[32]; /* future bincompat */
 };
-GType atk_util_get_type (void);
 
-/*
- * Wrapper for thread lock, i.e. take the thread mutex for the GUI toolkit, 
- * if one exists.  
- * (This method is implemented by the toolkit ATK implementation layer;
- *  for instance, for GTK+, GAIL implements this via GDK_THREADS_ENTER).
- */
-void     atk_misc_threads_enter  (AtkMisc *misc);
+ATK_DEPRECATED_IN_2_12
+GType atk_misc_get_type (void);
 
-/*
- * Wrapper for thread lock, i.e. release the thread mutex for the GUI toolkit, 
- * if one exists.  
- * (This method is implemented by the toolkit ATK implementation layer;
- *  for instance, for GTK+, GAIL implements this via GDK_THREADS_LEAVE).
- */
+ATK_DEPRECATED_IN_2_12
+void     atk_misc_threads_enter  (AtkMisc *misc);
+ATK_DEPRECATED_IN_2_12
 void     atk_misc_threads_leave  (AtkMisc *misc);
-
-/*
- * Obtain (singleton) instance of AtkMisc.
- */
+ATK_DEPRECATED_IN_2_12
 const AtkMisc *atk_misc_get_instance (void);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
+G_END_DECLS
 
 #endif /* __ATK_MISC_H__ */