/*******************************************************************************
* Copyright (c) 2011, 2016 Eurotech and/or its affiliates
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Eurotech
*******************************************************************************/
package org.eclipse.kura.web.shared.model;
import java.util.ArrayList;
import java.util.List;
import com.extjs.gxt.ui.client.data.BaseModel;
public class GwtWifiChannelModel extends BaseModel {
private static final long serialVersionUID = -1471520645150788770L;
private static final String BAND2400MHZ = "2.4 GHz";
private static final int FIRST_2400MHZ_CHANNEL = 1;
private static final int LAST_2400MHZ_CHANNEL = 13;
public GwtWifiChannelModel () {
}
public GwtWifiChannelModel (String name, int channel, int frequency, String band) {
set("name", name);
set("channel", channel);
set("frequency", frequency);
set("band", band);
}
public String getName () {
return (String)get("name");
}
public int getChannel () {
Integer iChannel = (Integer)get("channel");
return iChannel.intValue();
}
public int getFrequency() {
Integer iFrequency = (Integer)get("frequency");
return iFrequency.intValue();
}
public String getBand() {
return get("band");
}
public void setBand(String band) {
set("band", band);
}
public static List<GwtWifiChannelModel> getChannels() {
List<GwtWifiChannelModel> alCannels = new ArrayList<GwtWifiChannelModel> ();
for (int i = FIRST_2400MHZ_CHANNEL; i <= LAST_2400MHZ_CHANNEL; i++) {
alCannels.add(new GwtWifiChannelModel(formChannelName(i), i, getCannelFrequencyMHz(i), BAND2400MHZ));
}
return alCannels;
}
public String toString() {
return getName();
}
private static String formChannelName (int channel) {
StringBuffer sb = new StringBuffer();
sb.append("Channel ");
sb.append(channel);
return sb.toString();
}
private static int getCannelFrequencyMHz (int channel) {
int frequency = -1;
if ((channel >=1) && (channel <= 13)) {
frequency = 2407 + channel * 5;
}
return frequency;
}
}