本文整理汇总了C++中ExecutionState::getExecutionProperty方法的典型用法代码示例。如果您正苦于以下问题:C++ ExecutionState::getExecutionProperty方法的具体用法?C++ ExecutionState::getExecutionProperty怎么用?C++ ExecutionState::getExecutionProperty使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ExecutionState
的用法示例。
在下文中一共展示了ExecutionState::getExecutionProperty方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: photoRecordingStatusCallback
void ActionRecordPicture::photoRecordingStatusCallback(camera_handle_t handle,
camera_buffer_t* buf, void *context)
{
(void) handle;
ExecutionState* state = (ExecutionState*) context;
std::string outfile = state->getExecutionProperty("ACTION_ActionRecordPicture_OUTFILE");
DataModelLogger* RUNLOG = state->getLogger();
if (buf->frametype != CAMERA_FRAMETYPE_JPEG) {
RUNLOG->error("Failed to save image: Wrong format");
return;
}
QFile file(QString::fromStdString(outfile));
if (!file.open(QFile::WriteOnly)) {
RUNLOG->error("Failed to save image: Cannot open file");
return;
}
int fd = file.handle();
int index = 0;
while (index < (int) buf->framedesc.jpeg.bufsize) {
int rc = write(fd, &buf->framebuf[index], buf->framedesc.jpeg.bufsize - index);
if (rc > 0) {
index += rc;
} else if (rc == -1) {
if ((errno == EAGAIN) || (errno == EINTR))
continue;
RUNLOG->error(SSTR("Failed to save image: " << strerror(errno)));
close(fd);
return;
}
}
close(fd);
RUNLOG->trace(SSTR("Saved image with size " << buf->framedesc.jpeg.bufsize));
state->getRuntimeResources()->callbackFinished();
}