]> sjero.net Git - linphone/blob - java/impl/org/linphone/tools/Xml2Lpc.java
9f6cb0f27b925e3544dd857a76b32ce8a27b856a
[linphone] / java / impl / org / linphone / tools / Xml2Lpc.java
1 package org.linphone.tools;
2
3 import org.linphone.core.LpConfig;
4 import org.linphone.mediastream.Log;
5
6 public class Xml2Lpc {
7         
8     private enum LogLevel {
9         DEBUG,
10         MESSAGE,
11         WARNING,
12         ERROR
13     }
14     
15     private static boolean mAvailable;
16     
17         private long internalPtr = 0;
18         
19         private native void init();
20         private native void destroy();
21         
22         public Xml2Lpc() {
23                 init();
24         }
25         
26         public void finalize() {
27                 destroy();
28         }
29         
30         public native int setXmlFile(String filename);
31         public native int setXmlString(String content);
32
33         public native int setXsdFile(String filename);
34         public native int setXsdString(String content);
35
36         public native int validate();
37         public native int convert(LpConfig config);
38         
39         public void printLog(int level, String message) {
40                 if(level > 0 && level < LogLevel.values().length) {
41                         switch(LogLevel.values()[level]) {
42                                 case DEBUG:
43                                         Log.d(message);
44                                 break;
45                                 case MESSAGE:
46                                         Log.i(message);
47                                 break;
48                                 case WARNING:
49                                         Log.w(message);
50                                 break;
51                                 case ERROR:
52                                         Log.e(message);
53                                 break;
54                         }
55                 }
56         }
57         
58         public static boolean isAvailable() {
59                 return mAvailable;
60         }
61         
62         // Load library
63         static {
64                 try {
65                         System.loadLibrary("xml2");
66                         System.loadLibrary("xml2lpc");
67                         mAvailable = true;
68                 } catch (Throwable e) {
69                         mAvailable = false;
70                 }
71         }
72 }