diff plugins/mono/loader/status-glue.c @ 11980:67fbd2ff4c4e

[gaim-migrate @ 14273] Mono cleanup patch from Eoin Coffey First, I changed mono_loader_ to ml_, since I was getting sick of typing mono_loader_ :-D Moved the mono runtime init and deinit code out of mono.c into ml_init and ml_uninit in mono-helper.c Added api/Status.cs and loader/status-glue.c so the .net api now knows very little (as in the 'id') of statuses. committer: Tailor Script <tailor@pidgin.im>
author Gary Kramlich <grim@reaperworld.com>
date Sat, 05 Nov 2005 02:09:30 +0000
parents
children ecd33ffb0b0a
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/mono/loader/status-glue.c	Sat Nov 05 02:09:30 2005 +0000
@@ -0,0 +1,26 @@
+#include "status.h"
+#include "mono-helper.h"
+
+MonoObject* gaim_status_build_status_object(void* data)
+{
+	MonoObject *obj = NULL;
+	MonoClass *klass = NULL;
+			
+	GaimStatus *status = (GaimStatus*)data;
+	
+	klass = mono_class_from_name(ml_get_api_image(), "Gaim", "Status");
+	if (!klass) {
+		gaim_debug(GAIM_DEBUG_FATAL, "mono", "couldn't build the class!\n");
+	}
+	
+	obj = mono_object_new(ml_get_domain(), klass);
+	if (!obj) {
+		gaim_debug(GAIM_DEBUG_FATAL, "mono", "couldn't create the object!\n");
+	}
+	
+	mono_runtime_object_init(obj);
+	
+	ml_set_prop_string(obj, "Id", (char*)gaim_status_get_id(status));
+	
+	return obj;
+}