1 package org.iotivity.service.ssm;
5 import android.util.Log;
7 public class CoreController
13 String workingPath = System.getProperty( "user.dir" );
15 Log.i("SSMTester", "loading ssm lib");
17 // for android: not complete method
18 if(System.getProperty("os.name").toLowerCase().equals("linux"))
20 //System.out.println("System load Android library");
21 System.loadLibrary("SSMCore_Android");
25 //System.out.println("System load 32bit library");
26 workingPath += "/../Outputs/";
27 System.load( workingPath + "SSMCore_Windows.dll");
30 Log.i("SSMTester", "loading done");
32 catch(UnsatisfiedLinkError e)
34 System.out.println(e.getMessage());
38 static private CoreController coreController;
40 public static CoreController getInstance()
42 if(coreController == null)
43 coreController = new CoreController();
45 return coreController;
48 public native void InitializeSSMCore(String xmlDescription);
49 public native void StartSSMCore();
50 public native void StopSSMCore();
51 public native void TerminateSSMCore();
52 public native QueryEngine CreateQueryEngine();
53 public native int ReleaseQueryEngine(QueryEngine queryEngine);
56 public native int ExecuteContextQuery(int pQueryEngineInstance, String contextQuery);
57 public native void RegisterQueryEvent(int pQueryEngineInstance, IQueryEngineEvent queryEngineEvent);
58 public native void KillContextQuery(int pQueryEngineInstance, int cqid);
60 //public native void UnregiterQueryEvent(int pQueryEngineInstance, IQueryEngineEvent queryEngineEvent);
63 public native int GetDataId(int pIModelDataInstance);
64 public native int GetPropertyCount(int pIModelDataInstance);
65 public native String GetPropertyName(int pIModelDataInstance, int propertyIndex);
66 public native String GetPropertyValue(int pIModelDataInstance, int propertyIndex);
69 public native List<String> GetAffectedModels(int pDataReaderInstance);
70 public native int GetModelDataCount(int pDataReaderInstance, String modelName);
71 public native ModelData GetModelData(int pDataReaderInstance, String modelName, int dataIndex);
73 public native void RegisterReportReceiver(IReportReceiver reportReceiver);