/* KadecotPowerProfile.java Copyright (c) 2015 NTT DOCOMO,INC. Released under the MIT license http://opensource.org/licenses/mit-license.php */ package org.deviceconnect.android.deviceplugin.kadecot.profile; import android.content.Intent; import org.deviceconnect.android.deviceplugin.kadecot.kadecotdevice.KadecotHomeAirConditioner; import org.deviceconnect.android.deviceplugin.kadecot.kadecotdevice.KadecotResult; import org.deviceconnect.android.deviceplugin.kadecot.service.KadecotService; import org.deviceconnect.android.profile.DConnectProfile; import org.deviceconnect.android.profile.api.GetApi; import org.deviceconnect.android.profile.api.PutApi; import org.deviceconnect.android.profile.api.DeleteApi; /** * Power Profile. * * @author NTT DOCOMO, INC. */ public class KadecotPowerProfile extends DConnectProfile { public KadecotPowerProfile() { // PUT /gotapi/power/ addApi(new PutApi() { @Override public boolean onRequest(final Intent request, final Intent response) { powerOn(request, response); return false; } }); // GET /gotapi/power/ addApi(new GetApi() { @Override public boolean onRequest(final Intent request, final Intent response) { getPowerStatus(request, response); return false; } }); // DELETE /gotapi/power/ addApi(new DeleteApi() { @Override public boolean onRequest(final Intent request, final Intent response) { powerOff(request, response); return false; } }); } @Override public String getProfileName() { return "power"; } /** * Put ppower status. * * @param request Request. * @param response Response. */ private void powerOn(final Intent request, final Intent response) { KadecotResult result = KadecotService.requestKadecotServer(getContext(),response, getServiceID(request), KadecotHomeAirConditioner.POWERSTATE_ON); KadecotService.powerOn(response, result); sendResponse(response); } /** * Get power status. * * @param request Request. * @param response Response. */ private void getPowerStatus(final Intent request, final Intent response) { KadecotResult result = KadecotService.requestKadecotServer(getContext(),response, getServiceID(request), KadecotHomeAirConditioner.POWERSTATE_GET); KadecotService.getPowerStatus(response, result); sendResponse(response); } /** * Power Off. * * @param request Request. * @param response Response. */ private void powerOff(final Intent request, final Intent response) { KadecotResult result = KadecotService.requestKadecotServer(getContext(),response, getServiceID(request), KadecotHomeAirConditioner.POWERSTATE_OFF); KadecotService.powerOff(response, result); sendResponse(response); } }