1 package org.iotivity.service.ssm;
5 public class CoreController
11 String workingPath = System.getProperty( "user.dir" );
13 // for android: not complete method
14 if(System.getProperty("os.name").toLowerCase().equals("linux"))
16 //System.out.println("System load Android library");
17 System.loadLibrary("oc_logger");
18 System.loadLibrary("coap");
19 System.loadLibrary("octbstack");
20 System.loadLibrary("oc");
21 System.loadLibrary("SSMCore");
25 //System.out.println("System load 32bit library");
26 System.load( workingPath + "SSMCore_Windows.dll");
29 catch(UnsatisfiedLinkError e)
31 System.out.println(e.getMessage());
35 static private CoreController coreController;
37 public static CoreController getInstance()
39 if(coreController == null)
40 coreController = new CoreController();
42 return coreController;
45 public native void InitializeSSMCore(String xmlDescription);
46 public native void StartSSMCore();
47 public native void StopSSMCore();
48 public native void TerminateSSMCore();
49 public native QueryEngine CreateQueryEngine();
50 public native int ReleaseQueryEngine(QueryEngine queryEngine);
53 public native int ExecuteContextQuery(int pQueryEngineInstance, String contextQuery);
54 public native void RegisterQueryEvent(int pQueryEngineInstance, IQueryEngineEvent queryEngineEvent);
55 public native void KillContextQuery(int pQueryEngineInstance, int cqid);
57 //public native void UnregiterQueryEvent(int pQueryEngineInstance, IQueryEngineEvent queryEngineEvent);
60 public native int GetDataId(int pIModelDataInstance);
61 public native int GetPropertyCount(int pIModelDataInstance);
62 public native String GetPropertyName(int pIModelDataInstance, int propertyIndex);
63 public native String GetPropertyValue(int pIModelDataInstance, int propertyIndex);
66 public native List<String> GetAffectedModels(int pDataReaderInstance);
67 public native int GetModelDataCount(int pDataReaderInstance, String modelName);
68 public native ModelData GetModelData(int pDataReaderInstance, String modelName, int dataIndex);
70 public native void RegisterReportReceiver(IReportReceiver reportReceiver);