1 package org.linphone.core;
2 
3 public class ErrorInfoImpl implements ErrorInfo {
4 	protected long mNativePtr;
5 
ref(long nativePtr)6 	private native void ref(long nativePtr);
unref(long nativePtr)7 	private native void unref(long nativePtr);
8 
getReason(long nativePtr)9 	private native int getReason(long nativePtr);
getProtocol(long nativePtr)10 	private native String getProtocol(long nativePtr);
getProtocolCode(long nativePtr)11 	private native int getProtocolCode(long nativePtr);
getPhrase(long nativePtr)12 	private native String getPhrase(long nativePtr);
getWarnings(long nativePtr)13 	private native String getWarnings(long nativePtr);
getSubErrorInfo(long nativePtr)14 	private native long getSubErrorInfo(long nativePtr);
15 
setReason(long nativePtr, int reason)16 	private native void setReason(long nativePtr, int reason);
setProtocol(long nativePtr, String proto)17 	private native void setProtocol(long nativePtr, String proto);
setProtocolCode(long nativePtr, int code)18 	private native void setProtocolCode(long nativePtr, int code);
setPhrase(long nativePtr, String phrase)19 	private native void setPhrase(long nativePtr, String phrase);
setWarnings(long nativePtr, String warnings)20 	private native void setWarnings(long nativePtr, String warnings);
setSubErrorInfo(long nativePtr, long other_nativePtr)21 	private native void setSubErrorInfo(long nativePtr, long other_nativePtr);
22 
ErrorInfoImpl(long nativePtr, boolean ownsRef)23 	public ErrorInfoImpl(long nativePtr, boolean ownsRef){
24 		if (!ownsRef) ref(nativePtr);
25 		mNativePtr = nativePtr;
26 	}
27 
ErrorInfoImpl(long nativePtr)28 	public ErrorInfoImpl(long nativePtr){
29 		ref(nativePtr);
30 		mNativePtr = nativePtr;
31 	}
32 
33 	@Override
getReason()34 	public Reason getReason() {
35 		return Reason.fromInt(getReason(mNativePtr));
36 	}
37 
38 	@Override
getProtocol()39 	public String getProtocol() {
40 		return getProtocol(mNativePtr);
41 	}
42 
43 	@Override
getProtocolCode()44 	public int getProtocolCode() {
45 		return getProtocolCode(mNativePtr);
46 	}
47 
48 	@Override
getPhrase()49 	public String getPhrase() {
50 		return getPhrase(mNativePtr);
51 	}
52 
53 	@Override
getWarnings()54 	public String getWarnings(){
55 		return getWarnings(mNativePtr);
56 	}
57 
58 	@Override
getSubErrorInfo()59 	public ErrorInfo getSubErrorInfo(){
60 		long sub_ei = getSubErrorInfo(mNativePtr);
61 		return sub_ei != 0 ? new ErrorInfoImpl(sub_ei, false) : null;
62 	}
63 
64 
65 	@Override
setReason(Reason reason)66 	public void setReason(Reason reason) {
67 		setReason(mNativePtr, reason.mValue);
68 	}
69 
70 	@Override
setProtocol(String proto)71 	public void setProtocol(String proto) {
72 		setProtocol(mNativePtr, proto);
73 	}
74 
75 	@Override
setProtocolCode(int code)76 	public void setProtocolCode(int code) {
77 		setProtocolCode(mNativePtr, code);
78 	}
79 
80 	@Override
setPhrase(String phrase)81 	public void setPhrase(String phrase) {
82 		setPhrase(mNativePtr, phrase);
83 	}
84 
85 	@Override
setWarnings(String warnings)86 	public void setWarnings(String warnings){
87 		setWarnings(mNativePtr, warnings);
88 	}
89 
90 	@Override
setSubErrorInfo(ErrorInfo ei)91 	public void setSubErrorInfo(ErrorInfo ei){
92 		setSubErrorInfo(mNativePtr, ei != null ? ((ErrorInfoImpl)ei).mNativePtr : 0);
93 	}
94 
95 
96 	@Override
getDetails()97 	public String getDetails() {
98 		return getWarnings();
99 	}
100 
finalize()101 	protected void finalize() throws Throwable {
102 		if (mNativePtr != 0){
103 			unref(mNativePtr);
104 			mNativePtr = 0;
105 		}
106 	}
107 }
108