Modifying version number for building on tizen 3.0
[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 import android.util.Log;
6
7 public class CoreController 
8 {
9         static
10         {
11                 try
12                 {
13                         String workingPath = System.getProperty( "user.dir" );
14                         
15                         Log.i("SSMTester", "loading ssm lib");
16                         
17                         // for android: not complete method
18                         if(System.getProperty("os.name").toLowerCase().equals("linux"))
19                         {
20                                 //System.out.println("System load Android library");
21                                 System.loadLibrary("SSMCore_Android");
22                         }
23                         else
24                         {
25                                 //System.out.println("System load 32bit library");
26                                 workingPath += "/../Outputs/";
27                                 System.load( workingPath + "SSMCore_Windows.dll");
28                         }
29                         
30                         Log.i("SSMTester", "loading done");
31                 }
32                 catch(UnsatisfiedLinkError e)
33                 {
34                         System.out.println(e.getMessage());
35                 }
36         }
37         
38         static private CoreController coreController;
39         
40         public static CoreController getInstance()
41         {
42                 if(coreController == null)
43                         coreController = new CoreController();
44                 
45                 return coreController;
46         }
47         
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);
54         
55         // 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);        
59                 
60         //public native void UnregiterQueryEvent(int pQueryEngineInstance, IQueryEngineEvent queryEngineEvent);
61
62         //IModelData
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);
67                 
68         //IDataReader
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);
72         
73         public native void RegisterReportReceiver(IReportReceiver reportReceiver);
74 }