/*
AWSIotDeviceManager.java
Copyright (c) 2016 NTT DOCOMO,INC.
Released under the MIT license
http://opensource.org/licenses/mit-license.php
*/
package org.deviceconnect.android.deviceplugin.awsiot;
import org.deviceconnect.android.deviceplugin.awsiot.cores.core.RemoteDeviceConnectManager;
import org.deviceconnect.android.deviceplugin.awsiot.cores.util.AWSIotUtil;
import java.util.ArrayList;
import java.util.List;
public class AWSIotDeviceManager {
private List<TempDevice> mDeviceList = new ArrayList<>();
public String generateServiceId(final RemoteDeviceConnectManager remote, final String serviceId) {
for (TempDevice t : mDeviceList) {
if (remote.equals(t.mRemote) && serviceId.equals(t.mServiceId)) {
return t.mId;
}
}
TempDevice t = new TempDevice();
t.mRemote = remote;
t.mServiceId = serviceId;
t.mId = AWSIotUtil.md5(remote.getServiceId() + serviceId);
mDeviceList.add(t);
return t.mId;
}
public String getServiceId(final String serviceId) {
for (TempDevice t : mDeviceList) {
if (serviceId.equals(t.mId)) {
return t.mServiceId;
}
}
return null;
}
public RemoteDeviceConnectManager findManagerById(final String serviceId) {
for (TempDevice t : mDeviceList) {
if (serviceId.equals(t.mId)) {
return t.mRemote;
}
}
return null;
}
private class TempDevice {
RemoteDeviceConnectManager mRemote;
String mServiceId;
String mId;
}
}