예제 #1
0
void CDnsSettingDlg::OnBnClickedButtonEditrule()
{
    // TODO: 在此添加控件通知处理程序代码
    CDnsRuleAddDlg  dlg;
    dlg.m_DnsPath = m_RuleList.GetItemText( m_RuleList.GetSelectionMark(),0 );
    dlg.m_DlgTitle = _T("编辑DNS规则");
    dlg.m_bNewRule = FALSE;
    if( m_RuleList.GetItemText( m_RuleList.GetSelectionMark(),1 )
          == _T("允许") )
    {
        dlg.m_bAllowed = TRUE;
    }
    else
    {
        dlg.m_bAllowed = FALSE;
    }

    if( IDOK == dlg.DoModal())
    {
        if( !RegDeleteDnsRule( m_RuleList.GetItemData(m_RuleList.GetSelectionMark())))
        {
           AfxMessageBox(_T("更新规则失败!"));
           return;
        }
        //添加新规则
        RegAddDnsRule( dlg.m_DnsPath.GetBuffer(),
                          dlg.m_bAllowed );
        UpdateRuleList();
    }

}
예제 #2
0
void CDnsSettingDlg::OnBnClickedButtonDelrule()
{
    // TODO: 在此添加控件通知处理程序代码
    if( !RegDeleteDnsRule( m_RuleList.GetItemData(m_RuleList.GetSelectionMark())))
        AfxMessageBox(_T("删除规则失败!"));
    else
    {
        UpdateRuleList();
    }
}
예제 #3
0
BOOL CDnsSettingDlg::OnInitDialog()
{
    CButton *pBtn = (CButton*)GetDlgItem( IDC_BUTTON_EDITRULE );

    CDialog::OnInitDialog();

    m_RuleList.InsertColumn(0,_T("DNS名称"),0,450);
    m_RuleList.InsertColumn(1,_T("解析控制"),0,150);
    UpdateRuleList();
    pBtn->EnableWindow( FALSE );
	return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}
예제 #4
0
BOOL CIpSettingDlg::OnInitDialog()
{
    CDialog::OnInitDialog();

    m_RuleList.InsertColumn(0,_T("规则名称"),0,100);
    m_RuleList.InsertColumn(1,_T("策略"),0,50);
    m_RuleList.InsertColumn(2,_T("方向"),0,50);
    m_RuleList.InsertColumn(3,_T("源IP"),0,100);
    m_RuleList.InsertColumn(4,_T("目标IP"),0,100);
    m_RuleList.InsertColumn(5,_T("协议类型"),0,70);
    m_RuleList.InsertColumn(6,_T("源端口"),0,70);
    m_RuleList.InsertColumn(7,_T("目标端口"),0,70);
    m_RuleList.InsertColumn(8,_T("ICMP类型和代码"),0,100);

    UpdateRuleList();
    return TRUE;
}
예제 #5
0
bool OpenCLTraceOptions::SaveCurrentSettings()
{
    m_currentSettings.m_apiToTrace = m_pOpenCLRadioButton->isChecked() ? APIToTrace_OPENCL : APIToTrace_HSA;
    m_currentSettings.m_alwaysShowAPIErrorCode = m_pShowAPIErrorCodeCB->isChecked();
    m_currentSettings.m_collapseClGetEventInfo = m_pCollapseCallsCB->isChecked();
    m_currentSettings.m_generateSymInfo = m_pEnableNavigationCB->isChecked();
    m_currentSettings.m_generateKernelOccupancy = m_pGenerateOccupancyCB->isChecked();
    m_currentSettings.m_generateSummaryPage = m_pGenerateSummaryPageRB->isChecked();
    m_currentSettings.m_filterAPIsToTrace = m_pAPIsToTraceRB->isChecked();
    m_currentSettings.m_maxAPICalls = m_pMaxNumberOfAPIsSB->value();
    m_currentSettings.m_writeDataTimeOut = m_pWriteDataTimeOutCB->isChecked();
    m_currentSettings.m_timeoutInterval = m_pTimeOutIntervalSB->value();

    UpdateRuleList();
    UpdateAPIFilterList();
    UpdateProjectSettings();

    return true;
}
예제 #6
0
void CDnsSettingDlg::OnBnClickedButtonAddrule()
{
    // TODO: 在此添加控件通知处理程序代码
    CDnsRuleAddDlg  dlg;
    dlg.m_bNewRule = TRUE;
    if( IDOK == dlg.DoModal())
    {
        //添加新规则
        if( false == RegAddDnsRule( dlg.m_DnsPath.GetBuffer(),
                          dlg.m_bAllowed ))
        {
            AfxMessageBox(_T("该程序已存在!"));
            return;
        }
        UpdateRuleList();
    }
    else
    {
    }
}
예제 #7
0
bool OpenCLTraceOptions::setProjectSettingsXML(const gtString& projectAsXMLString)
{
    QString qtStr = acGTStringToQString(projectAsXMLString);

    QDomDocument doc;
    doc.setContent(qtStr.toUtf8());

    QDomElement rootElement = doc.documentElement();
    QDomNode rootNode = rootElement.firstChild();
    QDomNode childNode = rootNode.firstChild();

    QString nodeVal;
    bool val;

    while (!childNode.isNull())
    {
        val = false;
        nodeVal = childNode.firstChild().nodeValue();

        if (nodeVal == "T")
        {
            val = true;
        }

        if (childNode.nodeName() == acGTStringToQString(GPU_STR_ProjectSettingsGenerateOccupancy))
        {
            m_currentSettings.m_generateKernelOccupancy = val;
        }
        else if (childNode.nodeName() == acGTStringToQString(GPU_STR_ProjectSettingsShowErrorCode))
        {
            m_currentSettings.m_alwaysShowAPIErrorCode = val;
        }
        else if (childNode.nodeName() == acGTStringToQString(GPU_STR_ProjectSettingsCollapseClGetEventInfo))
        {
            m_currentSettings.m_collapseClGetEventInfo = val;
        }
        else if (childNode.nodeName() == acGTStringToQString(GPU_STR_ProjectSettingsEnableNavigation))
        {
            m_currentSettings.m_generateSymInfo = val;
        }
        else if (childNode.nodeName() == acGTStringToQString(GPU_STR_ProjectSettingsGenerateSummaryPage))
        {
            m_currentSettings.m_generateSummaryPage = val;
        }
        else if (childNode.nodeName() == acGTStringToQString(GPU_STR_ProjectSettingsAPIsToFilter))
        {
            m_currentSettings.m_filterAPIsToTrace = val;
        }
        else if (childNode.nodeName() == acGTStringToQString(GPU_STR_ProjectSettingsMaxAPIs))
        {
            m_currentSettings.m_maxAPICalls = nodeVal.toInt();
        }
        else if (childNode.nodeName() == acGTStringToQString(GPU_STR_ProjectSettingsWriteDataTimeOut))
        {
            m_currentSettings.m_writeDataTimeOut = val;
        }
        else if (childNode.nodeName() == acGTStringToQString(GPU_STR_ProjectSettingsTimeOutInterval))
        {
            m_currentSettings.m_timeoutInterval = nodeVal.toInt();
        }
        else if (childNode.nodeName() == acGTStringToQString(GPU_STR_ProjectSettingsAPIType))
        {
            if (nodeVal == acGTStringToQString(GPU_STR_ProjectSettingsAPITypeOpenCL))
            {
                m_currentSettings.m_apiToTrace = APIToTrace_OPENCL;
            }
            else if (nodeVal == acGTStringToQString(GPU_STR_ProjectSettingsAPITypeHSA))
            {
                m_currentSettings.m_apiToTrace = APIToTrace_HSA;
            }
            else
            {
                m_currentSettings.m_apiToTrace = APIToTrace_OPENCL;
                GT_ASSERT_EX(false, L"Invalid project settings option");
            }
        }
        else if (childNode.nodeName() == acGTStringToQString(GPU_STR_ProjectSettingsRulesTree))
        {
            if (childNode.hasChildNodes())
            {
                UpdateTreeWidgetFromXML(childNode, m_pAPIRulesTW, false);
            }
            else
            {
                if (m_pAPIRulesTW != nullptr)
                {
                    Util::SetCheckState(m_pAPIRulesTW, true);
                }
            }

            UpdateRuleList();
        }
        else if (childNode.nodeName() == acGTStringToQString(GPU_STR_ProjectSettingsAPIsFilterTree))
        {
            if (childNode.hasChildNodes())
            {
                UpdateTreeWidgetFromXML(childNode, m_pAPIsToTraceTW, true);
            }
            else
            {
                if (m_pAPIsToTraceTW != nullptr)
                {
                    Util::SetCheckState(m_pAPIsToTraceTW, true);
                }
            }

            UpdateAPIFilterList();
        }

        childNode = childNode.nextSibling();
    }

    return true;
}