1 package org.iotivity.service.easysetup.core;
3 public abstract class EnrolleeDevice {
5 protected EnrolleeState mState;
6 private EnrolleeSetupError mError;
8 protected ConnectionInterface mConnection;
9 protected final ProvisioningConfig mProvConfig;
10 protected final OnBoardingConfig mOnBoardingConfig;
12 protected OnBoardingCallback mOnBoardingCallback;
13 protected ProvisioningCallback mProvisioningCallback;
15 protected EnrolleeDevice(OnBoardingConfig onBoardingConfig, ProvisioningConfig provConfig) {
16 mProvConfig = provConfig;
17 mOnBoardingConfig = onBoardingConfig;
21 // Application can override this API to provide their own implementation for on boarding.
22 protected abstract void startOnBoardingProcess();
23 protected abstract void stopOnBoardingProcess();
25 protected abstract void startProvisioningProcess(ConnectionInterface conn);
27 public void setConnection(ConnectionInterface conn) {
31 // Not accessible by the Application
32 void startOnBoarding(OnBoardingCallback onBoardingCallback){
33 mOnBoardingCallback = onBoardingCallback;
34 startOnBoardingProcess();
37 // Not accessible by the Application
38 void startProvisioning(ProvisioningCallback provisioningCallback){
39 mProvisioningCallback = provisioningCallback;
40 startProvisioningProcess(mConnection);
44 public boolean isSetupSuccessful(){
45 return (mState == EnrolleeState.DEVICE_PROVISIONING_SUCCESS_STATE) ? true : false;
48 public EnrolleeSetupError getError() {
52 public EnrolleeState getState() {
56 public boolean onBoarded(){
57 return ( mState == EnrolleeState.DEVICE_PROVISIONING_STATE ) ? true : false;