/*
* Copyright (C) 2013-2014 Sony Computer Science Laboratories, Inc. All Rights Reserved.
* Copyright (C) 2014 Sony Corporation. All Rights Reserved.
*/
package com.sonycsl.Kadecot.wamp;
import com.sonycsl.Kadecot.core.provider.KadecotCoreStore;
import org.json.JSONException;
import org.json.JSONObject;
public class KadecotDeviceData {
private final long deviceId;
private final String protocol;
private final String uuid;
private final String deviceType;
private final String description;
private boolean status;
private String nickname;
public KadecotDeviceData(long deviceId, String protocol, String uuid, String deviceType,
String description, boolean status, String nickname) {
this.deviceId = deviceId;
this.protocol = protocol;
this.uuid = uuid;
this.deviceType = deviceType;
this.description = description;
this.status = status;
this.nickname = nickname;
}
public KadecotDeviceData(JSONObject device) throws JSONException {
deviceId = device.getLong(KadecotCoreStore.Devices.DeviceColumns.DEVICE_ID);
protocol = device.getString(KadecotCoreStore.Devices.DeviceColumns.PROTOCOL);
uuid = device.getString(KadecotCoreStore.Devices.DeviceColumns.UUID);
deviceType = device.getString(KadecotCoreStore.Devices.DeviceColumns.DEVICE_TYPE);
description = device.getString(KadecotCoreStore.Devices.DeviceColumns.DESCRIPTION);
status = device.getBoolean(KadecotCoreStore.Devices.DeviceColumns.STATUS);
if (device.has(KadecotCoreStore.Devices.DeviceColumns.NICKNAME)) {
nickname = device.getString(KadecotCoreStore.Devices.DeviceColumns.NICKNAME);
}
}
public void rename(String newName) {
nickname = newName;
}
public void updateStatus(boolean newStatus) {
status = newStatus;
}
public long getDeviceId() {
return deviceId;
}
public String getProtocol() {
return protocol;
}
public String getUuid() {
return uuid;
}
public String getDeviceType() {
return deviceType;
}
public String getDescription() {
return description;
}
public boolean getStatus() {
return status;
}
public String getNickname() {
return nickname;
}
/**
* This methods create JSONObject to inform device data to
* KadecotProviderUtil. So, JSONObject this method creates has no device id.
*
* @param protocol
* @param uuid
* @param description
* @param status
* @param nickname
* @return
* @throws JSONException
*/
public static JSONObject createJSONObject(String protocol, String uuid, String description,
String deviceType, boolean status, String nickname) throws JSONException {
JSONObject json = new JSONObject();
json.put(KadecotCoreStore.Devices.DeviceColumns.PROTOCOL, protocol);
json.put(KadecotCoreStore.Devices.DeviceColumns.UUID, uuid);
json.put(KadecotCoreStore.Devices.DeviceColumns.DESCRIPTION, description);
json.put(KadecotCoreStore.Devices.DeviceColumns.STATUS, status);
json.put(KadecotCoreStore.Devices.DeviceColumns.DEVICE_TYPE, deviceType);
json.put(KadecotCoreStore.Devices.DeviceColumns.NICKNAME, nickname);
return json;
}
}