コード例 #1
0
    //called on load signal
    //if does not found any encoderConfiguration then return one with -1 as uniqueID
    public static EncoderConfigurationSQLObject SelectByEconf(bool dbconOpened, Constants.EncoderGI encoderGI, EncoderConfiguration econf)
    {
        openIfNeeded(dbconOpened);

        dbcmd.CommandText = "SELECT * FROM " + Constants.EncoderConfigurationTable +
                            " WHERE encoderGI = \"" + encoderGI.ToString() + "\"" +
                            " AND encoderConfiguration LIKE \"" + econf.ToStringOutput(EncoderConfiguration.Outputs.SQLECWINCOMPARE) + "\"";
        LogB.SQL(dbcmd.CommandText.ToString());
        dbcmd.ExecuteNonQuery();

        SqliteDataReader reader;

        reader = dbcmd.ExecuteReader();

        EncoderConfigurationSQLObject econfSO = new EncoderConfigurationSQLObject();

        if (reader.Read())
        {
            econfSO = new EncoderConfigurationSQLObject(
                Convert.ToInt32(reader[0].ToString()),                          //uniqueID
                encoderGI,                                                      //encoderGI
                true,                                                           //active
                reader[3].ToString(),                                           //name
                econf,                                                          //encoderConfiguration
                reader[5].ToString()                                            //description
                );
        }
        reader.Close();
        Sqlite.Close();

        return(econfSO);
    }
コード例 #2
0
    public static void MarkAllAsUnactive(bool dbconOpened, Constants.EncoderGI encoderGI)
    {
        openIfNeeded(dbconOpened);

        dbcmd.CommandText = "UPDATE " + Constants.EncoderConfigurationTable +
                            " SET active = \"False\"" +
                            " WHERE encoderGI = \"" + encoderGI.ToString() + "\"";
        LogB.SQL(dbcmd.CommandText.ToString());
        dbcmd.ExecuteNonQuery();

        closeIfNeeded(dbconOpened);
    }
コード例 #3
0
    /*
     * <-------------------------- IfNameExistsAddSuffix ends
     */


    //called on capture, recalculate, load
    public static void UpdateActive(bool dbconOpened, Constants.EncoderGI encoderGI, EncoderConfiguration econf)
    {
        openIfNeeded(dbconOpened);

        dbcmd.CommandText = "UPDATE " + Constants.EncoderConfigurationTable +
                            " SET encoderConfiguration = \"" + econf.ToStringOutput(EncoderConfiguration.Outputs.SQL) + "\"" +
                            " WHERE encoderGI = \"" + encoderGI.ToString() + "\"" +
                            " AND active = \"True\"";
        LogB.SQL(dbcmd.CommandText.ToString());
        dbcmd.ExecuteNonQuery();

        closeIfNeeded(dbconOpened);
    }
コード例 #4
0
    //called on gui/encoderConfiguration.cs when click on save
    //also on load set
    public static void Update(bool dbconOpened, Constants.EncoderGI encoderGI, string oldName, EncoderConfigurationSQLObject econfSO)
    {
        openIfNeeded(dbconOpened);

        dbcmd.CommandText = "UPDATE " + Constants.EncoderConfigurationTable +
                            " SET active = \"" + econfSO.active + "\", name = \"" + econfSO.name + "\", " +
                            " encoderConfiguration = \"" + econfSO.encoderConfiguration.ToStringOutput(EncoderConfiguration.Outputs.SQL) + "\", " +
                            " description = \"" + econfSO.description + "\"" +
                            " WHERE name = \"" + oldName + "\" AND encoderGI = \"" + encoderGI.ToString() + "\"";
        LogB.SQL(dbcmd.CommandText.ToString());
        dbcmd.ExecuteNonQuery();

        closeIfNeeded(dbconOpened);
    }
コード例 #5
0
    //if by any bug there's no active, then create default
    public static EncoderConfigurationSQLObject SelectActive(Constants.EncoderGI encoderGI)
    {
        Sqlite.Open();

        dbcmd.CommandText = "SELECT * FROM " + Constants.EncoderConfigurationTable +
                            " WHERE encoderGI = \"" + encoderGI.ToString() + "\" AND active = \"True\"";
        LogB.SQL(dbcmd.CommandText.ToString());
        dbcmd.ExecuteNonQuery();

        SqliteDataReader reader;

        reader = dbcmd.ExecuteReader();

        EncoderConfigurationSQLObject econfSO = new EncoderConfigurationSQLObject();

        bool success = false;

        if (reader.Read())
        {
            string []            strFull = reader[4].ToString().Split(new char[] { ':' });
            EncoderConfiguration econf   = new EncoderConfiguration(
                (Constants.EncoderConfigurationNames)
                Enum.Parse(typeof(Constants.EncoderConfigurationNames), strFull[0]));
            econf.ReadParamsFromSQL(strFull);

            econfSO = new EncoderConfigurationSQLObject(
                Convert.ToInt32(reader[0].ToString()),                          //uniqueID
                encoderGI,                                                      //encoderGI
                true,                                                           //active
                reader[3].ToString(),                                           //name
                econf,                                                          //encoderConfiguration
                reader[5].ToString()                                            //description
                );
            success = true;
        }
        reader.Close();

        //if by any bug there's no active, then create default and call himself again to select
        if (!success)
        {
            insertDefault(encoderGI);
            Sqlite.Close();
            return(SelectActive(encoderGI));
        }

        Sqlite.Close();

        return(econfSO);
    }
コード例 #6
0
    //pass customName = "" to select all
    public static List <EncoderConfigurationSQLObject> Select(bool dbconOpened, Constants.EncoderGI encoderGI, string name)
    {
        openIfNeeded(dbconOpened);

        string nameStr = "";

        if (name != "")
        {
            nameStr = " AND name = \"" + name + "\"";
        }

        dbcmd.CommandText = "SELECT * FROM " + Constants.EncoderConfigurationTable +
                            " WHERE encoderGI = \"" + encoderGI.ToString() + "\"" + nameStr;
        LogB.SQL(dbcmd.CommandText.ToString());
        dbcmd.ExecuteNonQuery();

        List <EncoderConfigurationSQLObject> list = new List <EncoderConfigurationSQLObject>();
        SqliteDataReader reader;

        reader = dbcmd.ExecuteReader();
        while (reader.Read())
        {
            string []            strFull = reader[4].ToString().Split(new char[] { ':' });
            EncoderConfiguration econf   = new EncoderConfiguration(
                (Constants.EncoderConfigurationNames)
                Enum.Parse(typeof(Constants.EncoderConfigurationNames), strFull[0]));
            econf.ReadParamsFromSQL(strFull);

            EncoderConfigurationSQLObject econfSO = new EncoderConfigurationSQLObject(
                Convert.ToInt32(reader[0].ToString()),                          //uniqueID
                encoderGI,                                                      //encoderGI
                reader[2].ToString() == "True",                                 //active
                reader[3].ToString(),                                           //name
                econf,                                                          //encoderConfiguration
                reader[5].ToString()                                            //description
                );

            list.Add(econfSO);
        }

        reader.Close();
        closeIfNeeded(dbconOpened);

        return(list);
    }