Adding last version of iotruntime and iotinstaller; preparing to extend IoTMaster...
[iot2.git] / iotjava / iotruntime / brillo / IoTBrilloWeave.java
1 package iotruntime.brillo;
2
3 // Google APIs
4 import com.google.api.client.json.jackson2.JacksonFactory;
5 import com.google.api.services.clouddevices.CloudDevices;
6 import com.google.api.services.clouddevices.model.Device;
7
8 import java.rmi.Remote;
9 import java.rmi.RemoteException;
10
11 /** Abstract class IoTBrilloWeave that is the base of all
12  *  Brillo/Weave-communication-based class
13  *
14  * @author      Rahmadi Trimananda <rtrimana @ uci.edu>
15  * @version     1.0
16  * @since       2016-06-08
17  */
18 public abstract class IoTBrilloWeave implements Remote {
19
20         /** 
21      * Class IoTBrilloWeave properties
22          */
23         protected IoTBrilloWeaveCloudConnection iotCloudConnection;
24         protected CloudDevices apiClient;
25         protected Device device;
26
27         /** 
28      * Class IoTBrilloWeave constants
29          */
30         protected final JacksonFactory jsonFactory = new JacksonFactory();
31
32         /** 
33      * Class IoTBrilloWeave constructor
34          */
35         protected IoTBrilloWeave(String _clientId, String _clientSecret, String _apiKey, String _deviceId) {
36
37                 iotCloudConnection = new IoTBrilloWeaveCloudConnection(_clientId, _clientSecret, _apiKey);
38                 iotCloudConnection.connectionSetup(_deviceId);
39                 apiClient = iotCloudConnection.getApiClientObject();
40                 device = iotCloudConnection.getDeviceObject();
41         }
42
43         /**
44          * setAuthScope() method to set authentication scope
45          *
46          * @return  void
47          */
48         protected void setAuthScope(String _authScopeAddress) {
49                 iotCloudConnection.setAuthScope(_authScopeAddress);
50         }       
51 }