diff dwt/ole/win32/Variant.d @ 212:ab60f3309436

reverted the char[] to String and use the an alias.
author Frank Benoit <benoit@tionex.de>
date Mon, 05 May 2008 00:12:38 +0200
parents 619faee45ef6
children fd9c62a2998e
line wrap: on
line diff
--- a/dwt/ole/win32/Variant.d	Sat Apr 26 10:01:48 2008 +0200
+++ b/dwt/ole/win32/Variant.d	Mon May 05 00:12:38 2008 +0200
@@ -25,6 +25,7 @@
 
 import tango.util.Convert;
 import tango.text.convert.Format;
+import dwt.dwthelper.utils;
 
 /**
  *
@@ -49,12 +50,12 @@
     private bool booleanData;
     private byte    byteData;
     private short   shortData;
-    private char    charData;
+    private wchar   charData;
     private int     intData;
     private long    longData;
     private float   floatData;
     private double  doubleData;
-    private char[]  stringData;
+    private String  stringData;
     private void*   byRefPtr;
     private IDispatch dispatchData;
     private IUnknown unknownData;
@@ -216,7 +217,7 @@
  * @param string the Java String value that this Variant represents
  *
  */
-public this(char[] string) {
+public this(String string) {
     type = COM.VT_BSTR;
     stringData = string;
 }
@@ -448,7 +449,7 @@
  *
  * @since 3.3
  */
-public char getChar() {
+public wchar getChar() {
     if (type is COM.VT_EMPTY) {
         OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, -1);
     }
@@ -739,7 +740,7 @@
  *     <li>ERROR_CANNOT_CHANGE_VARIANT_TYPE when type of Variant can not be coerced into a String</li>
  * </ul>
  */
-public char[] getString() {
+public String getString() {
     if (type is COM.VT_EMPTY) {
         OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, -1);
     }
@@ -922,7 +923,7 @@
             shortData = newShortData[0];
             break;
         case COM.VT_UI2 :
-            char[1] newCharData;
+            wchar[1] newCharData;
             COM.MoveMemory(newCharData.ptr, pData + 8, 2);
             charData = newCharData[0];
             break;
@@ -1011,24 +1012,24 @@
  *
  * @return a string representation of the Variant
  */
-public char[] toString () {
+public String toString () {
     switch (type) {
         case COM.VT_BOOL :
-            return "VT_BOOL{"~to!(char[])(booleanData)~"}";
+            return "VT_BOOL{"~to!(String)(booleanData)~"}";
         case COM.VT_I1 :
-            return "VT_I1{"~to!(char[])(byteData)~"}";
+            return "VT_I1{"~to!(String)(byteData)~"}";
         case COM.VT_I2 :
-            return "VT_I2{"~to!(char[])(shortData)~"}";
+            return "VT_I2{"~to!(String)(shortData)~"}";
         case COM.VT_UI2 :
-            return "VT_UI2{"~charData~"}";
+            return "VT_UI2{"~ dcharToString(charData) ~"}";
         case COM.VT_I4 :
-            return "VT_I4{"~to!(char[])(intData)~"}";
+            return "VT_I4{"~to!(String)(intData)~"}";
         case COM.VT_I8 :
-            return "VT_I8{"~to!(char[])(longData)~"}";
+            return "VT_I8{"~to!(String)(longData)~"}";
         case COM.VT_R4 :
-            return "VT_R4{"~to!(char[])(floatData)~"}";
+            return "VT_R4{"~to!(String)(floatData)~"}";
         case COM.VT_R8 :
-            return "VT_R8{"~to!(char[])(doubleData)~"}";
+            return "VT_R8{"~to!(String)(doubleData)~"}";
         case COM.VT_BSTR :
             return "VT_BSTR{"~stringData~"}";
         case COM.VT_DISPATCH :
@@ -1044,6 +1045,6 @@
     if ((type & COM.VT_BYREF) !is 0) {
         return Format("VT_BYREF|{}{{{}}",(type & ~COM.VT_BYREF), byRefPtr );
     }
-    return "Unsupported Type "~to!(char[])(type);
+    return "Unsupported Type "~to!(String)(type);
 }
 }