void CameraBinControl::handleResourcesLost() { #ifdef CAMEABIN_DEBUG qDebug() << Q_FUNC_INFO << ENUM_NAME(QCamera, "State", m_state); #endif m_session->setState(QCamera::UnloadedState); }
int main(int argc, char* argv[], char* envp[]) { int i; const char *name; printf("Enum Days elements:\n"); for (i = 0; i < 7; i++) { name = ENUM_NAME_AT(Days, i); if (name) printf("\t%d) %-10s\n", i, name); } printf("\nEnum Number elements:\n"); for (i = 0; i < 11; i++) { int pos = ENUM_POS(Numbers, Numbers(i)); if (pos >= 0) { name = ENUM_NAME(Numbers, Numbers(i)); printf("\t%-10s:\t%d\n", name, i); } else { printf(" %d is not a valid item of Enum Numbers\n", i); } } printf("\nEnum Fruits elements:\n"); Fruits value; for (i = 0; i < NUMBER_OF(Fruits); i++) { value = ENUM_VALUE_AT(Fruits, i); name = ENUM_NAME_AT(Fruits, i); // printf("\t%d) %-10s:\t%d\n", i, name, value); name = ENUM_NAME(Fruits, value); if (name) { value = ENUM_VALUE(Fruits, name); if (value != INVALID_ENUM_ITEM(Fruits)) printf("\t%-10s:\t%d\n", name, value); } } return 0; }
void CameraBinControl::setState(QCamera::State state) { #ifdef CAMEABIN_DEBUG qDebug() << Q_FUNC_INFO << ENUM_NAME(QCamera, "State", state); #endif if (m_state != state) { m_state = state; //special case for stopping the camera while it's busy, //it should be delayed until the camera is idle if (state == QCamera::LoadedState && m_session->state() == QCamera::ActiveState && m_session->isBusy()) { #ifdef CAMEABIN_DEBUG qDebug() << Q_FUNC_INFO << "Camera is busy, QCamera::stop() is delayed"; #endif emit stateChanged(m_state); return; } CamerabinResourcePolicy::ResourceSet resourceSet = CamerabinResourcePolicy::NoResources; switch (state) { case QCamera::UnloadedState: resourceSet = CamerabinResourcePolicy::NoResources; break; case QCamera::LoadedState: resourceSet = CamerabinResourcePolicy::LoadedResources; break; case QCamera::ActiveState: resourceSet = captureMode() == QCamera::CaptureStillImage ? CamerabinResourcePolicy::ImageCaptureResources : CamerabinResourcePolicy::VideoCaptureResources; break; } m_resourcePolicy->setResourceSet(resourceSet); if (m_resourcePolicy->isResourcesGranted()) { //postpone changing to Active if the session is nor ready yet if (state == QCamera::ActiveState) { if (m_session->isReady()) { m_session->setState(state); } else { #ifdef CAMEABIN_DEBUG qDebug() << "Camera session is not ready yet, postpone activating"; #endif } } else m_session->setState(state); } emit stateChanged(m_state); } }
void CameraBinControl::reloadLater() { #ifdef CAMEABIN_DEBUG qDebug() << "CameraBinControl: reload pipeline requested" << ENUM_NAME(QCamera, "State", m_state); #endif if (!m_reloadPending && m_state == QCamera::ActiveState) { m_reloadPending = true; if (!m_session->isBusy()) { m_session->setState(QCamera::LoadedState); QMetaObject::invokeMethod(this, "delayedReload", Qt::QueuedConnection); } } }
void CameraBinControl::handleResourcesGranted() { #ifdef CAMEABIN_DEBUG qDebug() << Q_FUNC_INFO << ENUM_NAME(QCamera, "State", m_state); #endif //camera will be started soon by delayedReload() if (m_reloadPending && m_state == QCamera::ActiveState) return; if (m_state == QCamera::ActiveState && m_session->isReady()) m_session->setState(QCamera::ActiveState); else if (m_state == QCamera::LoadedState) m_session->setState(QCamera::LoadedState); }
void CameraBinFocus::_q_setFocusStatus(QCamera::LockStatus status, QCamera::LockChangeReason reason) { #ifdef CAMERABIN_DEBUG qDebug() << Q_FUNC_INFO << "Current:" << ENUM_NAME(QCamera, "LockStatus", m_focusStatus) << "New:" << ENUM_NAME(QCamera, "LockStatus", status) << ENUM_NAME(QCamera, "LockChangeReason", reason); #endif if (m_focusStatus != status) { m_focusStatus = status; QCameraFocusZone::FocusZoneStatus zonesStatus = m_focusStatus == QCamera::Locked ? QCameraFocusZone::Focused : QCameraFocusZone::Selected; if (m_focusZoneStatus != zonesStatus) { m_focusZoneStatus = zonesStatus; emit focusZonesChanged(); } emit _q_focusStatusChanged(m_focusStatus, reason); } }
void CameraBinControl::updateStatus() { QCamera::State sessionState = m_session->state(); QCamera::Status oldStatus = m_status; switch (m_state) { case QCamera::UnloadedState: m_status = QCamera::UnloadedStatus; break; case QCamera::LoadedState: switch (sessionState) { case QCamera::UnloadedState: m_status = QCamera::LoadingStatus; break; case QCamera::LoadedState: m_status = QCamera::LoadedStatus; break; case QCamera::ActiveState: m_status = QCamera::ActiveStatus; break; } break; case QCamera::ActiveState: switch (sessionState) { case QCamera::UnloadedState: m_status = QCamera::LoadingStatus; break; case QCamera::LoadedState: m_status = QCamera::StartingStatus; break; case QCamera::ActiveState: m_status = QCamera::ActiveStatus; break; } } if (m_status != oldStatus) { #ifdef CAMEABIN_DEBUG qDebug() << "Camera status changed" << ENUM_NAME(QCamera, "Status", m_status); #endif emit statusChanged(m_status); } }
/** * Returns the type string of activity. */ QString ActivityWidget::activityTypeStr() const { return QLatin1String(ENUM_NAME(ActivityWidget, ActivityType, m_activityType)); }
/** * Returns the type string of state. */ QString StateWidget::stateTypeStr() const { return QLatin1String(ENUM_NAME(StateWidget, StateType, m_stateType)); }
/** * Returns the type string of Signal. */ QString SignalWidget::signalTypeStr() const { return QLatin1String(ENUM_NAME(SignalWidget, SignalType, m_signalType)); }
/** * Convert enum LayoutType to string. */ QString AssociationLine::toString(LayoutType layout) { return QLatin1String(ENUM_NAME(AssociationLine, LayoutType, layout)); }