diff options
author | Owen Fraser-Green <owen@discobabe.net> | 2004-03-25 14:04:43 +0000 |
---|---|---|
committer | Owen Fraser-Green <owen@discobabe.net> | 2004-03-25 14:04:43 +0000 |
commit | 7dd57040236dc34a313948f75b403a49df693649 (patch) | |
tree | 96ff9ce4b3164e90ba77128d0914e7fc8f1f18c0 /mono/DBusType/Int32.cs | |
parent | e29f0448ec403efef910e8daba6ad7707b3a5ce0 (diff) |
Added support for enumerations with marshalling to/from their underlying system type (Byte, Int32, UInt32, Int64, UInt64)
Diffstat (limited to 'mono/DBusType/Int32.cs')
-rw-r--r-- | mono/DBusType/Int32.cs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/mono/DBusType/Int32.cs b/mono/DBusType/Int32.cs index be78eba8..681a55f3 100644 --- a/mono/DBusType/Int32.cs +++ b/mono/DBusType/Int32.cs @@ -36,11 +36,14 @@ namespace DBus.DBusType public static bool Suits(System.Type type) { + if (type.IsEnum && type.UnderlyingSystemType == typeof(System.Int32)) { + return true; + } + switch (type.ToString()) { case "System.Int32": case "System.Int32&": - return true; - } + return true; } return false; } @@ -68,6 +71,10 @@ namespace DBus.DBusType public object Get(System.Type type) { + if (type.IsEnum) { + return Enum.ToObject(type, this.val); + } + switch (type.ToString()) { case "System.Int32": case "System.Int32&": |