1 /* Copyright (c) 2007 Timothy Wall, All Rights Reserved
2 *
3 * This library is free software; you can redistribute it and/or
4 * modify it under the terms of the GNU Lesser General Public
5 * License as published by the Free Software Foundation; either
6 * version 2.1 of the License, or (at your option) any later version.
7 * <p/>
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * Lesser General Public License for more details.
12 */
13 package com.ochafik.lang.jnaerator.runtime;
14
15 import com.sun.jna.Native;
16 import com.sun.jna.ptr.ByReference;
17
18 public class CharByReference extends ByReference {
19 public CharByReference() {
20 this((char)0);
21 }
22
23 public CharByReference(char value) {
24 super(Native.WCHAR_SIZE);
25 setValue(value);
26 }
27 public void setValue(char value) {
28 getPointer().setChar(0, value);
29 // switch (Native.WCHAR_SIZE) {
30 // case 1:
31 // case 2:
32 // case 4:
33 // getPointer().setInt(0, value);
34 // break;
35 // default:
36 // throw new UnsupportedOperationException("Unhandled CGFloat size : " + CGFloat.SIZE);
37 // }
38 }
39 public char getValue() {
40 return getPointer().getChar(0);
41 }
42
43 }