Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / metadata / cominterop.h
index d3da2d93f4675af84daaa1843246e117fe898994..6f93ec191dfb1dc16b9b4c6d03a815fa5a01ad1c 100644 (file)
@@ -1,5 +1,6 @@
-/*
- * cominterop.h: COM Interop Support
+/**
+ * \file
+ * COM Interop Support
  * 
  *
  * (C) 2002 Ximian, Inc.  http://www.ximian.com
 #include <mono/metadata/marshal.h>
 
 void
-mono_cominterop_init (void) MONO_INTERNAL;
+mono_cominterop_init (void);
 
 void
-mono_cominterop_cleanup (void) MONO_INTERNAL;
+mono_cominterop_cleanup (void);
 
 void
-mono_mb_emit_cominterop_call (MonoMethodBuilder *mb, MonoMethodSignature *sig, MonoMethod* method) MONO_INTERNAL;
+mono_mb_emit_cominterop_get_function_pointer (MonoMethodBuilder *mb, MonoMethod* method);
 
 void
-mono_cominterop_emit_ptr_to_object_conv (MonoMethodBuilder *mb, MonoType *type, MonoMarshalConv conv, MonoMarshalSpec *mspec) MONO_INTERNAL;
+mono_mb_emit_cominterop_call_function_pointer (MonoMethodBuilder *mb, MonoMethodSignature *sig);
 
 void
-mono_cominterop_emit_object_to_ptr_conv (MonoMethodBuilder *mb, MonoType *type, MonoMarshalConv conv, MonoMarshalSpec *mspec) MONO_INTERNAL;
+mono_mb_emit_cominterop_call (MonoMethodBuilder *mb, MonoMethodSignature *sig, MonoMethod* method);
+
+void
+mono_cominterop_emit_ptr_to_object_conv (MonoMethodBuilder *mb, MonoType *type, MonoMarshalConv conv, MonoMarshalSpec *mspec);
+
+void
+mono_cominterop_emit_object_to_ptr_conv (MonoMethodBuilder *mb, MonoType *type, MonoMarshalConv conv, MonoMarshalSpec *mspec);
 
 MonoMethod *
-mono_cominterop_get_native_wrapper (MonoMethod *method) MONO_INTERNAL;
+mono_cominterop_get_native_wrapper (MonoMethod *method);
 
 MonoMethod *
-mono_cominterop_get_invoke (MonoMethod *method) MONO_INTERNAL;
+mono_cominterop_get_invoke (MonoMethod *method);
 
 int
 mono_cominterop_emit_marshal_com_interface (EmitMarshalContext *m, int argnum, 
                                                                                        MonoType *t,
                                                                                        MonoMarshalSpec *spec, 
                                                                                        int conv_arg, MonoType **conv_arg_type, 
-                                                                                       MarshalAction action) MONO_INTERNAL;
+                                                                                       MarshalAction action);
 
 int
 mono_cominterop_emit_marshal_safearray (EmitMarshalContext *m, int argnum,
                                                                                MonoType *t,
                                                                                MonoMarshalSpec *spec, 
                                                                                int conv_arg, MonoType **conv_arg_type,
-                                                                               MarshalAction action) MONO_INTERNAL;
+                                                                               MarshalAction action);
 
-MonoString * 
+MONO_RT_EXTERNAL_ONLY
+MONO_API MonoString * 
 mono_string_from_bstr (gpointer bstr);
 
-void 
+MonoString *
+mono_string_from_bstr_icall (gpointer bstr);
+
+MonoString *
+mono_string_from_bstr_checked (gpointer bstr, MonoError *error);
+
+MONO_API void 
 mono_free_bstr (gpointer bstr);
 
+MonoClass*
+mono_class_try_get_com_object_class (void);
+
+void*
+mono_cominterop_get_com_interface (MonoObject* object, MonoClass* ic, MonoError *error);
+
 #endif /* __MONO_COMINTEROP_H__ */