当前位置: 首页>>代码示例>>C++>>正文


C++ VscpRemoteTcpIf::doCmdFilter方法代码示例

本文整理汇总了C++中VscpRemoteTcpIf::doCmdFilter方法的典型用法代码示例。如果您正苦于以下问题:C++ VscpRemoteTcpIf::doCmdFilter方法的具体用法?C++ VscpRemoteTcpIf::doCmdFilter怎么用?C++ VscpRemoteTcpIf::doCmdFilter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在VscpRemoteTcpIf的用法示例。


在下文中一共展示了VscpRemoteTcpIf::doCmdFilter方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: getDriverObject

extern "C" int
CanalSetFilter(long handle, unsigned long filter)
{
    VscpRemoteTcpIf *pvscpif = getDriverObject(handle);
    if (NULL == pvscpif) return CANAL_ERROR_MEMORY;
    return (pvscpif->doCmdFilter(filter) ? CANAL_ERROR_SUCCESS
                                         : CANAL_ERROR_SUB_DRIVER);
}
开发者ID:davidluca3000,项目名称:vscp_software,代码行数:8,代码来源:vscpl1.cpp

示例2: strDevice

extern "C" long
CanalOpen(const char *pDevice, unsigned long flags)
{
    long h               = CANAL_ERROR_SUB_DRIVER;
    unsigned long filter = 0, mask = 0;
    bool bFilter = false, bMask = false;
    std::string str;
    std::string strDevice(pDevice);

    std::deque<std::string> tokens;
    vscp_split(tokens, strDevice, ";");

    // Get possible filter
    if (!tokens.empty()) {
        str = tokens.front();
        tokens.pop_front();
        if (0 != str.size()) {
            filter = vscp_readStringValue(str);
        }
    }

    // Get possible mask
    if (!tokens.empty()) {
        str = tokens.front();
        tokens.pop_front();
        if (0 != str.size()) {
            mask = vscp_readStringValue(str);
        }
    }

    VscpRemoteTcpIf *pvscpif = new VscpRemoteTcpIf();
    if (NULL != pvscpif) {

        if (pvscpif->doCmdOpen(strDevice, flags)) {

            if (!(h = addDriverObject(pvscpif))) {
                delete pvscpif;
            } else {

                if (bFilter) {
                    pvscpif->doCmdFilter(filter);
                }

                if (bMask) {
                    pvscpif->doCmdMask(mask);
                }
            }

        } else {
            delete pvscpif;
        }
    }

    return h;
}
开发者ID:davidluca3000,项目名称:vscp_software,代码行数:55,代码来源:vscpl1.cpp

示例3: strDevice

extern "C" long CanalOpen( const char *pDevice, unsigned long flags )
{
	long h = CANAL_ERROR_SUB_DRIVER;
	unsigned long filter=0, mask=0;
	bool bFilter=false, bMask=false;
	wxString str;
	wxString strDevice( pDevice, wxConvUTF8);
	wxStringTokenizer tkz(strDevice, _(";") );

	// Get possible filter	
    str = tkz.GetNextToken();
	if ( 0 != str.Length() ) {
        if ( str.ToULong( &filter ) ) {
			bFilter = true;
		}
	}

	// Get possible mask
	if ( 0 != str.Length() ) {
		if ( str.ToULong( &mask ) ) {
			bMask = true;
		}
	}
	
	
	VscpRemoteTcpIf *pvscpif = new VscpRemoteTcpIf();
	if ( NULL != pvscpif ) {

		if ( pvscpif->doCmdOpen( strDevice, flags ) ){

			if ( !( h = theApp.addDriverObject( pvscpif ) ) ) {
				delete pvscpif;
			}
			else {
				
				if ( bFilter ) {
					pvscpif->doCmdFilter( filter );	
				}

				if ( bMask ) {
					pvscpif->doCmdMask( mask );
				}
			}

		}
		else {
			delete pvscpif;
		}

	}
 
	return h;
}
开发者ID:BlueAndi,项目名称:vscp_software,代码行数:53,代码来源:vscpl1.cpp


注:本文中的VscpRemoteTcpIf::doCmdFilter方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。