d0c2e55be1c51b75166ba6b7aafadeae024c91b8
[platform/upstream/iotivity.git] / service / soft-sensor-manager / SDK / java / org / iotivity / service / ssm / CoreController.java
1 package org.iotivity.service.ssm;
2
3 import java.util.List;
4
5 public class CoreController 
6 {
7         static
8         {
9                 try
10                 {
11                         String workingPath = System.getProperty( "user.dir" );
12                         
13                         // for android: not complete method
14                         if(System.getProperty("os.name").toLowerCase().equals("linux"))
15                         {
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");
22                         }
23                         else
24                         {
25                                 //System.out.println("System load 32bit library");                              
26                                 System.load( workingPath + "SSMCore_Windows.dll");
27                         }
28                 }
29                 catch(UnsatisfiedLinkError e)
30                 {
31                         System.out.println(e.getMessage());
32                 }
33         }
34         
35         static private CoreController coreController;
36         
37         public static CoreController getInstance()
38         {
39                 if(coreController == null)
40                         coreController = new CoreController();
41                 
42                 return coreController;
43         }
44         
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);
51         
52         // 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);        
56                 
57         //public native void UnregiterQueryEvent(int pQueryEngineInstance, IQueryEngineEvent queryEngineEvent);
58
59         //IModelData
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);
64                 
65         //IDataReader
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);
69         
70         public native void RegisterReportReceiver(IReportReceiver reportReceiver);
71 }