2003-06-22 Havoc Pennington <hp@pobox.com>
[platform/upstream/dbus.git] / mono / Message.cs
1 namespace DBus {
2   
3   using System;
4   using System.Runtime.InteropServices;
5   
6   public class Message {
7
8     public Message (string name,
9                     string dest_service) {
10       raw = dbus_message_new (name, dest_service);
11     }
12
13     public string Name {
14       get {
15         return dbus_message_get_name (raw);
16       }
17     }
18     
19     IntPtr raw;
20
21     ~Message () {
22       dbus_message_unref (raw);
23     }
24     
25     Message (IntPtr r) {
26       raw = r;
27       dbus_message_ref (r);
28     }
29     
30     // static constructor runs before any methods 
31     static Message () {
32       
33     }
34       
35     const string libname = "libdbus-1.so.0";
36     
37     [DllImport (libname, EntryPoint="dbus_message_new")]
38       private extern static IntPtr dbus_message_new (string name,
39                                                      string dest_service);
40
41     [DllImport (libname, EntryPoint="dbus_message_unref")]
42       private extern static void dbus_message_unref (IntPtr ptr);
43
44     [DllImport (libname, EntryPoint="dbus_message_ref")]
45       private extern static void dbus_message_ref (IntPtr ptr);
46
47     [DllImport (libname, EntryPoint="dbus_message_get_name")]
48       private extern static string dbus_message_get_name (IntPtr ptr);
49   }
50 }