// Path: app/src/main/java/com/smbtv/delegate/exception/SMBConfigException.java
// public class SMBConfigException extends RuntimeException {
// 
//     public SMBConfigException(String message) {
//         super(message);
//     }
// }
// 
// Path: app/src/main/java/com/smbtv/model/SMBConfig.java
// public class SMBConfig {
// 
//     private String hostname;
//     private String sharename;
//     private String domain;
//     private int sessionPort;
//     private int tcpIpSmbPort;
//     private int serverPort;
//     private int datagramPort;
// 
//     public String getHostname() {
//         return hostname;
//     }
// 
//     public void setHostname(String hostname) {
//         this.hostname = hostname;
//     }
// 
//     public String getSharename() {
//         return sharename;
//     }
// 
//     public void setSharename(String sharename) {
//         this.sharename = sharename;
//     }
// 
//     public String getDomain() {
//         return domain;
//     }
// 
//     public void setDomain(String domain) {
//         this.domain = domain;
//     }
// 
//     public int getSessionPort() {
//         return sessionPort;
//     }
// 
//     public void setSessionPort(int sessionPort) {
//         this.sessionPort = sessionPort;
//     }
// 
//     public int getTcpIpSmbPort() {
//         return tcpIpSmbPort;
//     }
// 
//     public void setTcpIpSmbPort(int tcpIpSmbPort) {
//         this.tcpIpSmbPort = tcpIpSmbPort;
//     }
// 
//     public int getServerPort() {
//         return serverPort;
//     }
// 
//     public void setServerPort(int serverPort) {
//         this.serverPort = serverPort;
//     }
// 
//     public int getDatagramPort() {
//         return datagramPort;
//     }
// 
//     public void setDatagramPort(int datagramPort) {
//         this.datagramPort = datagramPort;
//     }
// 
//     @Override
//     public String toString() {
//         return "SMBConfig{" +
//                 "hostname='" + hostname + '\'' +
//                 ", sharename='" + sharename + '\'' +
//                 ", domain='" + domain + '\'' +
//                 ", sessionPort=" + sessionPort +
//                 ", tcpIpSmbPort=" + tcpIpSmbPort +
//                 ", serverPort=" + serverPort +
//                 ", datagramPort=" + datagramPort +
//                 '}';
//     }
// 
//     @Override
//     public boolean equals(Object other) {
// 
//         SMBConfig c = (SMBConfig) other;
//         
//         return hostname.equals(c.hostname)
//                 && sharename.equals(c.sharename)
//                 && domain.equals(c.domain)
//                 && sessionPort == c.sessionPort
//                 && tcpIpSmbPort == c.tcpIpSmbPort
//                 && serverPort == c.serverPort
//                 && datagramPort == c.datagramPort;
//     }
// 
// }


import android.content.Context;
import android.database.Cursor;
import android.util.Log;
import com.smbtv.R;
import com.smbtv.delegate.exception.SMBConfigException;
import com.smbtv.model.SMBConfig;
import java.util.Map;
package com.smbtv.delegate.base;




public class SMBConfigDAO extends DAOBase {

    private static final String TAG = SMBConfigDAO.class.getSimpleName();

    private static Map<String, String> queries = XMLQueryLoader.load(R.xml.db_query_config);

    public SMBConfigDAO(Context pContext) {
        super(pContext);
    }

    public SMBConfig find() {

        Log.d(TAG, "find");

        SMBConfig config = null;

        try (DBWrapper db = instanceDB()) {

            String query = queries.get("get_config");
            Cursor c = db.rawQuery(query);

            if (c.moveToFirst()) {

                config = new SMBConfig();
                config.setHostname(c.getString(0));
                config.setSharename(c.getString(1));
                config.setDomain(c.getString(2));
                config.setServerPort(c.getInt(3));
                config.setSessionPort(c.getInt(4));
                config.setDatagramPort(c.getInt(5));
                config.setTcpIpSmbPort(c.getInt(6));

            } else {

// Path: app/src/main/java/com/smbtv/delegate/exception/SMBConfigException.java
// public class SMBConfigException extends RuntimeException {
// 
//     public SMBConfigException(String message) {
//         super(message);
//     }
// }
// 
// Path: app/src/main/java/com/smbtv/model/SMBConfig.java
// public class SMBConfig {
// 
//     private String hostname;
//     private String sharename;
//     private String domain;
//     private int sessionPort;
//     private int tcpIpSmbPort;
//     private int serverPort;
//     private int datagramPort;
// 
//     public String getHostname() {
//         return hostname;
//     }
// 
//     public void setHostname(String hostname) {
//         this.hostname = hostname;
//     }
// 
//     public String getSharename() {
//         return sharename;
//     }
// 
//     public void setSharename(String sharename) {
//         this.sharename = sharename;
//     }
// 
//     public String getDomain() {
//         return domain;
//     }
// 
//     public void setDomain(String domain) {
//         this.domain = domain;
//     }
// 
//     public int getSessionPort() {
//         return sessionPort;
//     }
// 
//     public void setSessionPort(int sessionPort) {
//         this.sessionPort = sessionPort;
//     }
// 
//     public int getTcpIpSmbPort() {
//         return tcpIpSmbPort;
//     }
// 
//     public void setTcpIpSmbPort(int tcpIpSmbPort) {
//         this.tcpIpSmbPort = tcpIpSmbPort;
//     }
// 
//     public int getServerPort() {
//         return serverPort;
//     }
// 
//     public void setServerPort(int serverPort) {
//         this.serverPort = serverPort;
//     }
// 
//     public int getDatagramPort() {
//         return datagramPort;
//     }
// 
//     public void setDatagramPort(int datagramPort) {
//         this.datagramPort = datagramPort;
//     }
// 
//     @Override
//     public String toString() {
//         return "SMBConfig{" +
//                 "hostname='" + hostname + '\'' +
//                 ", sharename='" + sharename + '\'' +
//                 ", domain='" + domain + '\'' +
//                 ", sessionPort=" + sessionPort +
//                 ", tcpIpSmbPort=" + tcpIpSmbPort +
//                 ", serverPort=" + serverPort +
//                 ", datagramPort=" + datagramPort +
//                 '}';
//     }
// 
//     @Override
//     public boolean equals(Object other) {
// 
//         SMBConfig c = (SMBConfig) other;
//         
//         return hostname.equals(c.hostname)
//                 && sharename.equals(c.sharename)
//                 && domain.equals(c.domain)
//                 && sessionPort == c.sessionPort
//                 && tcpIpSmbPort == c.tcpIpSmbPort
//                 && serverPort == c.serverPort
//                 && datagramPort == c.datagramPort;
//     }
// 
// }


// Path: app/src/main/java/com/smbtv/delegate/base/SMBConfigDAO.java
import android.content.Context;
import android.database.Cursor;
import android.util.Log;
import com.smbtv.R;
import com.smbtv.delegate.exception.SMBConfigException;
import com.smbtv.model.SMBConfig;
import java.util.Map;

package com.smbtv.delegate.base;




public class SMBConfigDAO extends DAOBase {

    private static final String TAG = SMBConfigDAO.class.getSimpleName();

    private static Map<String, String> queries = XMLQueryLoader.load(R.xml.db_query_config);

    public SMBConfigDAO(Context pContext) {
        super(pContext);
    }

    public SMBConfig find() {

        Log.d(TAG, "find");

        SMBConfig config = null;

        try (DBWrapper db = instanceDB()) {

            String query = queries.get("get_config");
            Cursor c = db.rawQuery(query);

            if (c.moveToFirst()) {

                config = new SMBConfig();
                config.setHostname(c.getString(0));
                config.setSharename(c.getString(1));
                config.setDomain(c.getString(2));
                config.setServerPort(c.getInt(3));
                config.setSessionPort(c.getInt(4));
                config.setDatagramPort(c.getInt(5));
                config.setTcpIpSmbPort(c.getInt(6));

            } else {

                throw new SMBConfigException("Cannot load the actual configuration.");