View Javadoc

1   /*
2   	Copyright (c) 2009 Olivier Chafik, All Rights Reserved
3   	
4   	This file is part of JNAerator (http://jnaerator.googlecode.com/).
5   	
6   	JNAerator is free software: you can redistribute it and/or modify
7   	it under the terms of the GNU Lesser General Public License as published by
8   	the Free Software Foundation, either version 3 of the License, or
9   	(at your option) any later version.
10  	
11  	JNAerator is distributed in the hope that it will be useful,
12  	but WITHOUT ANY WARRANTY; without even the implied warranty of
13  	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  	GNU Lesser General Public License for more details.
15  	
16  	You should have received a copy of the GNU Lesser General Public License
17  	along with JNAerator.  If not, see <http://www.gnu.org/licenses/>.
18  */
19  package com.ochafik.lang.jnaerator.runtime;
20  
21  import com.sun.jna.Pointer;
22  import com.sun.jna.PointerType;
23  
24  @Deprecated
25  public class StringPointer extends Structure<StringPointer, StringPointer.ByValue, StringPointer.ByReference> {
26  	public String value;
27  	public String toString() {
28  		return value;
29  	}
30  	public StringPointer() {}
31  	public StringPointer(PointerType p) {
32  		this(p.getPointer(), 0);
33  	}
34  	public StringPointer(Pointer p) {
35  		this(p, 0);
36  	}
37  	public StringPointer(Pointer p, int offset) {
38  		useMemory(p, offset);
39  		read();
40  	}
41  	public StringPointer(String value) {
42  		super();
43  		this.value = value;
44  	}
45  	public static class ByValue extends StringPointer implements com.sun.jna.Structure.ByValue {}
46  	public static class ByReference extends StringPointer implements com.sun.jna.Structure.ByReference {}
47  	@Override
48  	protected ByReference newByReference() {
49  		return new ByReference();
50  	}
51  	@Override
52  	protected ByValue newByValue() {
53  		return new ByValue();
54  	}
55  	@Override
56  	protected StringPointer newInstance() {
57  		return new StringPointer();
58  	} 
59  }