Skip to content
seqIDataMgr.cpp 159 KiB
Newer Older
        NGROUPS = ngroups_elements.find("value")->second.get<int>();
    }

    {
        std::stringstream json_alias;
        json_alias << "\"NGROUPS\": { \"name\": \"NGROUPS\", \"value\": \"" << NGROUPS << "\"}";
        jsonStatus += json_alias.str();
        jsonStatus += ", ";
    const std::map<std::string, indi::IElement> & ndit_elements = sashaNumSeqs.getElements();
Fulvio Laudisio's avatar
Fulvio Laudisio committed
    int NDIT = 0;
    if(ndit_elements.find("value") != ndit_elements.end())
        NDIT = ndit_elements.find("value")->second.get<int>();
    }

    {
        std::stringstream json_alias;
        json_alias << "\"NDIT\": { \"name\": \"NDIT\", \"value\": \"" << NDIT << "\"}";
        jsonStatus += json_alias.str();
        //jsonStatus += ", ";
    }
    // // GET INS AUTH
    // const std::map<std::string, indi::IElement> & lbt_inst_auth = lbtLeftInstrument.getElements();
    // if(lbt_inst_auth.find("l_inst_auth") != lbt_inst_auth.end())
    // {
    //     std::stringstream json_alias;
    //     json_alias << "\"LBT_L_AUTH\": { \"name\": \"LBT_L_AUTH\", \"value\": \"" << lbt_inst_auth.find("l_inst_auth")->second.get() << "\"}";
    //     jsonStatus += json_alias.str();
    //     //jsonStatus += ", ";
    // }
    // GET Authorized Instrument from DD
    if(m_obContext.l_auth_ins_from_DD != "")
    {
        std::stringstream json_alias;
        jsonStatus += ", ";
        json_alias << "\"lbt_l_auth\": { \"name\": \"lbt_l_auth\", \"value\": \"" << m_obContext.l_auth_ins_from_DD << "\"}";
        jsonStatus += json_alias.str();
    if(m_obContext.r_auth_ins_from_DD != "")
    {
        std::stringstream json_alias;
        jsonStatus += ", ";
        json_alias << "\"lbt_r_auth\": { \"name\": \"lbt_r_auth\", \"value\": \"" << m_obContext.r_auth_ins_from_DD << "\"}";
        jsonStatus += json_alias.str();
    // GET NCPA loaded and status
    if(m_obContext.ncpa_rotation_status != "")
    {
        std::stringstream json_alias;
        jsonStatus += ", ";
        json_alias << "\"ncpa_rot_status\": { \"name\": \"ncpa_rot_status\", \"value\": \"" << m_obContext.ncpa_rotation_status << "\"}";
        jsonStatus += json_alias.str();
    }

    if(m_obContext.ncpa_file != "")
    {
        std::stringstream json_alias;
        jsonStatus += ", ";
        json_alias << "\"ncpa_file_loaded\": { \"name\": \"ncpa_file_loaded\", \"value\": \"" << m_obContext.ncpa_file << "\"}";
        jsonStatus += json_alias.str();
    }
Fulvio Laudisio's avatar
Fulvio Laudisio committed
void SeqDataMgr::setFlags(uint64_t flags, uint64_t more_flags)
{
    if(flags & shins::flags::SAVE_INCOMING_SASHA_FILES)
    {
        m_bSaveIncomingBlob = true;
        U9_LLOG("Save Incoming Sasha files : " << "ON");
    }
    if(flags & shins::flags::SEQDATA_TEST01)
    {
        m_bTest01 = true;
        U9_LLOG("SeqIDataMgr TEST01 : " << "ON");
    }
    if(flags & shins::flags::SAVE_ONLY_EXPOSED_SASHA_FILES)// 2
Fulvio Laudisio's avatar
Fulvio Laudisio committed
    {
        if(!m_bSaveOnlyExposedFiles)
        {
            m_bSaveOnlyExposedFiles = true;
            m_bFlagChanged = true;
        }
        U9_LLOG("Save only exposed files : " << "ON");
    }
    if(flags & shins::flags::SEQDATA_FORCE_PROPERTY_SET)
    {
        m_bForcePropertySet = true;
        U9_LLOG("SeqIDataMgr Force Property Set : " << "ON");
    }
    if(flags & shins::flags::FAST_SAVING_MODE)
    {
        updateInstrumentHeader();
        m_bFastSavingMode = true;
        U9_LLOG("SeqIDataMgr Fast Saving Mode Set : ON");
    }
    if(flags & shins::flags::DOUBLE_SASHA_TIMEOUTS)
    {
        m_timoeout_multiplier *= 2;
        U9_LLOG("Sasha timeout multiplier set to " << m_timoeout_multiplier);
    }
Fulvio Laudisio's avatar
Fulvio Laudisio committed
};
void SeqDataMgr::unsetFlags(uint64_t flags, uint64_t more_flags)
{
    if(flags & shins::flags::SAVE_INCOMING_SASHA_FILES)
    {
        m_bSaveIncomingBlob = false;
        U9_LLOG("Save Incoming Sasha files : " << "OFF");
    }
    if(flags & shins::flags::SEQDATA_TEST01)
    {
        m_bTest01 = false;
        U9_LLOG("SeqIDataMgr TEST01 : " << "OFF");
    }
    if(flags & shins::flags::SAVE_ONLY_EXPOSED_SASHA_FILES)// 2
Fulvio Laudisio's avatar
Fulvio Laudisio committed
    {
        if(m_bSaveOnlyExposedFiles)
        {
            m_bSaveOnlyExposedFiles = false;
            m_bFlagChanged = true;
        }
        U9_LLOG("Save only exposed files : " << "OFF");
    }
    if(flags & shins::flags::SEQDATA_FORCE_PROPERTY_SET)
    {
        m_bForcePropertySet = false;
        U9_LLOG("SeqIDataMgr Force Property Set : " << "OFF");
    }
    if(flags & shins::flags::FAST_SAVING_MODE)
    {
        m_bFastSavingMode = false;
        U9_LLOG("SeqIDataMgr Fast Saving Mode Set : OFF");
    }
Fulvio Laudisio's avatar
Fulvio Laudisio committed
void SeqDataMgr::toggleFlags(uint64_t flags, uint64_t more_flags)
{
    if(flags & shins::flags::SAVE_INCOMING_SASHA_FILES)
    {
        m_bSaveIncomingBlob = !m_bSaveIncomingBlob;
        U9_LLOG("Save incoming Sasha files : " << (m_bSaveIncomingBlob ? "ON" : "OFF"));
    }
    if(flags & shins::flags::SEQDATA_TEST01)
    {
        m_bTest01 = !m_bTest01;
        U9_LLOG("SeqIDataMgr TEST01 : " << (m_bTest01 ? "ON" : "OFF"));
    }
    if(flags & shins::flags::SAVE_ONLY_EXPOSED_SASHA_FILES) // 2
Fulvio Laudisio's avatar
Fulvio Laudisio committed
    {
        m_bSaveOnlyExposedFiles = !m_bSaveOnlyExposedFiles;
        m_bFlagChanged = true;
        U9_LLOG("Save only exposed files : " << (m_bSaveOnlyExposedFiles ? "ON" : "OFF"));
    }
    if(flags & shins::flags::SEQDATA_FORCE_PROPERTY_SET)
    {
        m_bForcePropertySet = !m_bForcePropertySet;
        U9_LLOG("SeqIDataMgr Force Property Set : " << (m_bForcePropertySet ? "ON" : "OFF"));
    }
    if(flags & shins::flags::FAST_SAVING_MODE)
    {
        if(!m_bFastSavingMode)
        {
            updateInstrumentHeader();
        }
        m_bFastSavingMode = !m_bFastSavingMode;
        U9_LLOG("SeqIDataMgr Fast Saving Mode Set : " << (m_bFastSavingMode ? "ON" : "OFF"));
    }