本文整理汇总了C++中VscpRemoteTcpIf::doCmdInterfaceList方法的典型用法代码示例。如果您正苦于以下问题:C++ VscpRemoteTcpIf::doCmdInterfaceList方法的具体用法?C++ VscpRemoteTcpIf::doCmdInterfaceList怎么用?C++ VscpRemoteTcpIf::doCmdInterfaceList使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VscpRemoteTcpIf
的用法示例。
在下文中一共展示了VscpRemoteTcpIf::doCmdInterfaceList方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnButtonGetInterfacesClick
void dlgVscpInterfaceSettings::OnButtonGetInterfacesClick( wxCommandEvent& event )
{
VscpRemoteTcpIf tcpif;
wxString wxstr;
m_btnGetInterfaces->Enable( false );
// If server username is given and no password is entered we ask for it.
if ( m_RemoteServerPassword->GetValue().IsEmpty() &&
!m_RemoteServerUsername->GetValue().IsEmpty() ) {
wxstr = ::wxGetTextFromUser( _("Please enter password"),
_("Password is needed") );
}
else {
wxstr = m_RemoteServerPassword->GetValue();
}
wxBusyCursor busy;
long rv = tcpif.doCmdOpen( m_RemoteServerURL->GetValue(),
m_RemoteServerUsername->GetValue(),
wxstr );
if ( VSCP_ERROR_SUCCESS == rv ) {
// Get the interface list
wxArrayString array;
tcpif.doCmdInterfaceList( array );
// Close the channel
tcpif.doCmdClose();
if ( array.Count() ) {
dlgSelectDaemonInterface dlg( this );
for ( unsigned int i=0; i<array.Count(); i++ ) {
wxStringTokenizer tkz( array[i], _(",") );
wxString strOrdinal = tkz.GetNextToken();
wxString strType = tkz.GetNextToken();
wxString strGUID = tkz.GetNextToken();
wxString strDescription = tkz.GetNextToken();
wxString strLine = strGUID;
strLine += _(" ");
strLine += _(" Type = ");
strLine += strType;
strLine += _(" - ");
strLine += strDescription;
dlg.m_ctrlListInterfaces->Append( strLine );
}
if ( wxID_OK == dlg.ShowModal() ) {
int selidx;
if ( wxNOT_FOUND != ( selidx = dlg.m_ctrlListInterfaces->GetSelection() ) ) {
wxStringTokenizer tkz( array[selidx], _(",") );
wxString strOrdinal = tkz.GetNextToken();
wxString strType = tkz.GetNextToken();
wxString strGUID = tkz.GetNextToken();
// Name of interface
wxString strifName = tkz.GetNextToken();
int pos;
if ( wxNOT_FOUND != ( pos = strifName.Find(_(" ") ) ) ) {
strifName = strifName.Left( pos );
strifName.Trim();
}
m_RemoteInterfaceName->ChangeValue( strifName );
}
}
}
else {
wxMessageBox(_("No interfaces found!"));
}
}
else {
wxMessageBox(_("Failed to connect to server."), _("Get daemon interfaces"), wxICON_STOP );
}
m_btnGetInterfaces->Enable( true );
event.Skip( false );
}