// Path: app/src/main/java/com/xargsgrep/portknocker/model/Host.java
// public class Host
// {
//     public static final int DEFAULT_DELAY = 1000;
//     public static final int DEFAULT_TCP_CONNECT_TIMEOUT = 100;
// 
//     private long id;
//     private String label;
//     private String hostname;
//     private int delay = DEFAULT_DELAY;
//     private int tcpConnectTimeout = DEFAULT_TCP_CONNECT_TIMEOUT;
//     private String launchIntentPackage;
//     private List<Port> ports = new ArrayList<>();
// 
//     @JsonIgnore
//     public long getId()
//     {
//         return id;
//     }
// 
//     public void setId(long id)
//     {
//         this.id = id;
//     }
// 
//     public String getLabel()
//     {
//         return label;
//     }
// 
//     public void setLabel(String label)
//     {
//         this.label = label;
//     }
// 
//     public String getHostname()
//     {
//         return hostname;
//     }
// 
//     public void setHostname(String hostname)
//     {
//         this.hostname = hostname;
//     }
// 
//     public int getDelay()
//     {
//         return delay;
//     }
// 
//     public void setDelay(int delay)
//     {
//         this.delay = delay;
//     }
// 
//     public String getLaunchIntentPackage()
//     {
//         return launchIntentPackage;
//     }
// 
//     public int getTcpConnectTimeout()
//     {
//         return tcpConnectTimeout;
//     }
// 
//     public void setTcpConnectTimeout(int tcpConnectTimeout)
//     {
//         this.tcpConnectTimeout = tcpConnectTimeout;
//     }
// 
//     public void setLaunchIntentPackage(String launchIntentPackage)
//     {
//         this.launchIntentPackage = launchIntentPackage;
//     }
// 
//     public List<Port> getPorts()
//     {
//         return ports;
//     }
// 
//     public void setPorts(List<Port> ports)
//     {
//         this.ports = ports;
//     }
// 
//     @JsonIgnore
//     public String getPortsString()
//     {
//         StringBuilder portsString = new StringBuilder();
// 
//         if (ports.size() > 0)
//         {
//             for (Port port : ports)
//             {
//                 portsString.append(port.getPort());
//                 portsString.append(":");
//                 portsString.append(port.getProtocol());
//                 portsString.append(", ");
//             }
//             portsString.replace(portsString.length() - 2, portsString.length(), "");
//         }
// 
//         return portsString.toString();
//     }
// }
// 
// Path: app/src/main/java/com/xargsgrep/portknocker/model/Port.java
// public class Port
// {
//     private long hostId;
//     private int index;
//     private int port = -1;
//     private Protocol protocol = Protocol.TCP;
// 
//     public static enum Protocol {TCP, UDP}
// 
//     public Port() { }
// 
//     @JsonIgnore
//     public long getHostId()
//     {
//         return hostId;
//     }
// 
//     public void setHostId(long hostId)
//     {
//         this.hostId = hostId;
//     }
// 
//     @JsonIgnore
//     public int getIndex()
//     {
//         return index;
//     }
// 
//     public void setIndex(int index)
//     {
//         this.index = index;
//     }
// 
//     public int getPort()
//     {
//         return port;
//     }
// 
//     public void setPort(int port)
//     {
//         this.port = port;
//     }
// 
//     public Protocol getProtocol()
//     {
//         return protocol;
//     }
// 
//     public void setProtocol(Protocol protocol)
//     {
//         this.protocol = protocol;
//     }
// }
// 
// Path: app/src/main/java/com/xargsgrep/portknocker/model/Port.java
// public static enum Protocol {TCP, UDP}


import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import com.xargsgrep.portknocker.model.Host;
import com.xargsgrep.portknocker.model.Port;
import com.xargsgrep.portknocker.model.Port.Protocol;
import java.util.ArrayList;
import java.util.List;
        while (!portsCursor.isAfterLast())
        {
            Port port = cursorToPort(portsCursor);
            ports.add(port);
            portsCursor.moveToNext();
        }

        portsCursor.close();

        return ports;
    }

    private Host cursorToHost(Cursor cursor)
    {
        Host host = new Host();
        host.setId(cursor.getLong(0));
        host.setLabel(cursor.getString(1));
        host.setHostname(cursor.getString(2));
        host.setDelay(cursor.getInt(3));
        host.setLaunchIntentPackage(cursor.getString(4));
        host.setTcpConnectTimeout(cursor.getInt(7));
        return host;
    }

    private Port cursorToPort(Cursor cursor)
    {
        Port port = new Port();
        port.setHostId(cursor.getLong(0));
        port.setIndex(cursor.getInt(1));
        port.setPort(cursor.getInt(2));
// Path: app/src/main/java/com/xargsgrep/portknocker/model/Host.java
// public class Host
// {
//     public static final int DEFAULT_DELAY = 1000;
//     public static final int DEFAULT_TCP_CONNECT_TIMEOUT = 100;
// 
//     private long id;
//     private String label;
//     private String hostname;
//     private int delay = DEFAULT_DELAY;
//     private int tcpConnectTimeout = DEFAULT_TCP_CONNECT_TIMEOUT;
//     private String launchIntentPackage;
//     private List<Port> ports = new ArrayList<>();
// 
//     @JsonIgnore
//     public long getId()
//     {
//         return id;
//     }
// 
//     public void setId(long id)
//     {
//         this.id = id;
//     }
// 
//     public String getLabel()
//     {
//         return label;
//     }
// 
//     public void setLabel(String label)
//     {
//         this.label = label;
//     }
// 
//     public String getHostname()
//     {
//         return hostname;
//     }
// 
//     public void setHostname(String hostname)
//     {
//         this.hostname = hostname;
//     }
// 
//     public int getDelay()
//     {
//         return delay;
//     }
// 
//     public void setDelay(int delay)
//     {
//         this.delay = delay;
//     }
// 
//     public String getLaunchIntentPackage()
//     {
//         return launchIntentPackage;
//     }
// 
//     public int getTcpConnectTimeout()
//     {
//         return tcpConnectTimeout;
//     }
// 
//     public void setTcpConnectTimeout(int tcpConnectTimeout)
//     {
//         this.tcpConnectTimeout = tcpConnectTimeout;
//     }
// 
//     public void setLaunchIntentPackage(String launchIntentPackage)
//     {
//         this.launchIntentPackage = launchIntentPackage;
//     }
// 
//     public List<Port> getPorts()
//     {
//         return ports;
//     }
// 
//     public void setPorts(List<Port> ports)
//     {
//         this.ports = ports;
//     }
// 
//     @JsonIgnore
//     public String getPortsString()
//     {
//         StringBuilder portsString = new StringBuilder();
// 
//         if (ports.size() > 0)
//         {
//             for (Port port : ports)
//             {
//                 portsString.append(port.getPort());
//                 portsString.append(":");
//                 portsString.append(port.getProtocol());
//                 portsString.append(", ");
//             }
//             portsString.replace(portsString.length() - 2, portsString.length(), "");
//         }
// 
//         return portsString.toString();
//     }
// }
// 
// Path: app/src/main/java/com/xargsgrep/portknocker/model/Port.java
// public class Port
// {
//     private long hostId;
//     private int index;
//     private int port = -1;
//     private Protocol protocol = Protocol.TCP;
// 
//     public static enum Protocol {TCP, UDP}
// 
//     public Port() { }
// 
//     @JsonIgnore
//     public long getHostId()
//     {
//         return hostId;
//     }
// 
//     public void setHostId(long hostId)
//     {
//         this.hostId = hostId;
//     }
// 
//     @JsonIgnore
//     public int getIndex()
//     {
//         return index;
//     }
// 
//     public void setIndex(int index)
//     {
//         this.index = index;
//     }
// 
//     public int getPort()
//     {
//         return port;
//     }
// 
//     public void setPort(int port)
//     {
//         this.port = port;
//     }
// 
//     public Protocol getProtocol()
//     {
//         return protocol;
//     }
// 
//     public void setProtocol(Protocol protocol)
//     {
//         this.protocol = protocol;
//     }
// }
// 
// Path: app/src/main/java/com/xargsgrep/portknocker/model/Port.java
// public static enum Protocol {TCP, UDP}


// Path: app/src/main/java/com/xargsgrep/portknocker/db/DatabaseManager.java
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import com.xargsgrep.portknocker.model.Host;
import com.xargsgrep.portknocker.model.Port;
import com.xargsgrep.portknocker.model.Port.Protocol;
import java.util.ArrayList;
import java.util.List;

        while (!portsCursor.isAfterLast())
        {
            Port port = cursorToPort(portsCursor);
            ports.add(port);
            portsCursor.moveToNext();
        }

        portsCursor.close();

        return ports;
    }

    private Host cursorToHost(Cursor cursor)
    {
        Host host = new Host();
        host.setId(cursor.getLong(0));
        host.setLabel(cursor.getString(1));
        host.setHostname(cursor.getString(2));
        host.setDelay(cursor.getInt(3));
        host.setLaunchIntentPackage(cursor.getString(4));
        host.setTcpConnectTimeout(cursor.getInt(7));
        return host;
    }

    private Port cursorToPort(Cursor cursor)
    {
        Port port = new Port();
        port.setHostId(cursor.getLong(0));
        port.setIndex(cursor.getInt(1));
        port.setPort(cursor.getInt(2));
        port.setProtocol(Protocol.values()[cursor.getInt(3)]);