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