本文整理汇总了C++中Filter::input方法的典型用法代码示例。如果您正苦于以下问题:C++ Filter::input方法的具体用法?C++ Filter::input怎么用?C++ Filter::input使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Filter
的用法示例。
在下文中一共展示了Filter::input方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SCI_Filter_upload
int SCI_Filter_upload(int filter_id, sci_group_t group, int num_bufs, void *bufs[], int sizes[])
{
if (gCtrlBlock->getMyRole() == CtrlBlock::INVALID)
return SCI_ERR_UNINTIALIZED;
if (gCtrlBlock->getMyRole() == CtrlBlock::BACK_END) {
return SCI_ERR_INVALID_CALLER;
}
try {
Filter *filter = NULL;
if (filter_id != SCI_FILTER_NULL) {
filter = gCtrlBlock->getFilterList()->getFilter(filter_id);
}
int curFilterID = gCtrlBlock->getFilterProcessor()->getCurFilterID();
Message *msg = new Message();
msg->build(curFilterID, group, num_bufs, (char **)bufs, sizes, Message::DATA);
if (filter) {
sci_exflag_t exflag = {SCI_NORMAL, NULL};
filter->input(group, msg->getContentBuf(), msg->getContentLen(), &exflag);
delete msg;
} else {
gCtrlBlock->getFilterProcessor()->deliever(msg);
}
} catch (Exception &e) {
return SCI_ERR_EXCEPTION;
} catch (std::bad_alloc) {
return SCI_ERR_NO_MEM;
}
return SCI_SUCCESS;
}