本文整理汇总了C++中OSCollectionIterator::isValid方法的典型用法代码示例。如果您正苦于以下问题:C++ OSCollectionIterator::isValid方法的具体用法?C++ OSCollectionIterator::isValid怎么用?C++ OSCollectionIterator::isValid使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OSCollectionIterator
的用法示例。
在下文中一共展示了OSCollectionIterator::isValid方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetKeyboardReservedStructEventForService
static KeyboardReserved * GetKeyboardReservedStructEventForService(IOHIKeyboard *service, UInt32 * index = 0)
{
KeyboardReserved * retVal = 0;
if (gKeyboardReservedArray) {
OSCollectionIterator * iterator = 0;
iterator = OSCollectionIterator::withCollection(gKeyboardReservedArray);
if (iterator) {
bool done = false;
while (!done) {
OSObject * obj = 0;
while (!done && (NULL != (obj = iterator->getNextObject()))) {
OSData * data = OSDynamicCast(OSData, obj);
if (data) {
retVal = (KeyboardReserved *)data->getBytesNoCopy();
if (retVal && (retVal->service == service)) {
if (index)
*index = gKeyboardReservedArray->getNextIndexOfObject(obj, 0);
done = true;
}
else {
retVal = 0;
}
}
}
if (iterator->isValid()) {
done = true;
}
else {
iterator->reset();
}
}
iterator->release();
}
}
return retVal;
}