Mercurial > projects > dwt-mac
comparison dwt/dnd/URLTransfer.d @ 7:e831403a80a9
Add 'cast' to casts
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Wed, 27 Aug 2008 14:30:35 +0200 |
parents | 380af2bdd8e5 |
children | a9ab4c738ed8 |
comparison
equal
deleted
inserted
replaced
6:b903c16b6f48 | 7:e831403a80a9 |
---|---|
57 public void javaToNative (Object object, TransferData transferData){ | 57 public void javaToNative (Object object, TransferData transferData){ |
58 if (!checkURL(object) || !isSupportedType(transferData)) { | 58 if (!checkURL(object) || !isSupportedType(transferData)) { |
59 DND.error(DND.ERROR_INVALID_DATA); | 59 DND.error(DND.ERROR_INVALID_DATA); |
60 } | 60 } |
61 transferData.result = -1; | 61 transferData.result = -1; |
62 String url = (String)object; | 62 String url = cast(String)object; |
63 int count = url.length(); | 63 int count = url.length(); |
64 char[] chars = new char[count]; | 64 char[] chars = new char[count]; |
65 url.getChars(0, count, chars, 0); | 65 url.getChars(0, count, chars, 0); |
66 int cfString = OS.CFStringCreateWithCharacters(OS.kCFAllocatorDefault, chars, count); | 66 int cfString = OS.CFStringCreateWithCharacters(OS.kCFAllocatorDefault, chars, count); |
67 if (cfString is 0) return; | 67 if (cfString is 0) return; |
68 try { | 68 try { |
69 CFRange range = new CFRange(); | 69 CFRange range = new CFRange(); |
70 range.length = chars.length; | 70 range.length = chars.length; |
71 int encoding = OS.CFStringGetSystemEncoding(); | 71 int encoding = OS.CFStringGetSystemEncoding(); |
72 int[] size = new int[1]; | 72 int[] size = new int[1]; |
73 int numChars = OS.CFStringGetBytes(cfString, range, encoding, (byte)'?', true, null, 0, size); | 73 int numChars = OS.CFStringGetBytes(cfString, range, encoding, cast(byte)'?', true, null, 0, size); |
74 if (numChars is 0 || size[0] is 0) return; | 74 if (numChars is 0 || size[0] is 0) return; |
75 byte[] buffer = new byte[size[0]]; | 75 byte[] buffer = new byte[size[0]]; |
76 numChars = OS.CFStringGetBytes(cfString, range, encoding, (byte)'?', true, buffer, size [0], size); | 76 numChars = OS.CFStringGetBytes(cfString, range, encoding, cast(byte)'?', true, buffer, size [0], size); |
77 if (numChars is 0) return; | 77 if (numChars is 0) return; |
78 transferData.data = new byte[][] {buffer}; | 78 transferData.data = new byte[][] {buffer}; |
79 transferData.result = 0; | 79 transferData.result = 0; |
80 } finally { | 80 } finally { |
81 OS.CFRelease(cfString); | 81 OS.CFRelease(cfString); |
119 protected String[] getTypeNames(){ | 119 protected String[] getTypeNames(){ |
120 return new String[] {URL, URLN}; | 120 return new String[] {URL, URLN}; |
121 } | 121 } |
122 | 122 |
123 bool checkURL(Object object) { | 123 bool checkURL(Object object) { |
124 return object !is null && (object instanceof String) && ((String)object).length() > 0; | 124 return object !is null && (object instanceof String) && (cast(String)object).length() > 0; |
125 } | 125 } |
126 | 126 |
127 protected bool validate(Object object) { | 127 protected bool validate(Object object) { |
128 return checkURL(object); | 128 return checkURL(object); |
129 } | 129 } |