/* * Constructor for class. */ Controller::Controller( Camera *camera, Import *import ) { sdkLoaded = false; doLive = false; bulbLock = false; evfImageData = NULL; shotSeq = NULL; this->camera = camera; this->import = import; listener = new Listener; qRegisterMetaType<EdsPropertyEvent>("EdsPropertyEvent"); qRegisterMetaType<EdsPropertyID>("EdsPropertyID"); qRegisterMetaType<EdsUInt32>("EdsUInt32"); qRegisterMetaType<EdsObjectEvent>("EdsObjectEvent"); qRegisterMetaType<EdsBaseRef>("EdsBaseRef"); qRegisterMetaType<EdsStateEvent>("EdsStateEvent"); QObject::connect( listener, SIGNAL(propertyEvent(EdsPropertyEvent,EdsPropertyID,EdsUInt32)), this, SLOT(handlePropertyEvent(EdsPropertyEvent,EdsPropertyID,EdsUInt32))); QObject::connect( listener, SIGNAL(objectEvent(EdsObjectEvent,EdsBaseRef)), this, SLOT(handleObjectEvent(EdsObjectEvent,EdsBaseRef))); QObject::connect( listener, SIGNAL(stateEvent(EdsStateEvent,EdsUInt32)), this, SLOT(handleStateEvent(EdsStateEvent,EdsUInt32))); QObject::connect( listener, SIGNAL(cameraAddedEvent()), this, SLOT(handleCameraAddedEvent())); //qRegisterMetaType<Event>("Event"); QObject::connect( listener, SIGNAL(eventReport(Event *)), this, SIGNAL(eventReport(Event *))); timer = new QTimer(this); QObject::connect( timer, SIGNAL(timeout()), this, SLOT(messagePump()) ); timer->start( Controller::timerPeriod ); }
void rspfConnectableObjectListener::processEvent(rspfEvent& event) { switch(event.getId()) { case RSPF_EVENT_OBJECT_DESTRUCTING_ID: { rspfObjectDestructingEvent* eventCast = dynamic_cast<rspfObjectDestructingEvent*>(&event); if(eventCast) objectDestructingEvent(*eventCast); break; } case RSPF_EVENT_CONNECTION_CONNECT_ID: case RSPF_EVENT_CONNECTION_DISCONNECT_ID: { rspfConnectionEvent* eventCast = dynamic_cast<rspfConnectionEvent*>(&event); if(eventCast) { connectionEvent(*eventCast); if(event.getId() == RSPF_EVENT_CONNECTION_DISCONNECT_ID) { if(eventCast->isInputDirection()) { disconnectInputEvent(*eventCast); } else if(eventCast->isOutputDirection()) { disconnectOutputEvent(*eventCast); } else { rspfNotify(rspfNotifyLevel_WARN) << "rspfConnectableObjectListener::processEvent, Direction not set\n"; } } else { if(eventCast->isInputDirection()) { connectInputEvent(*eventCast); } else if(eventCast->isOutputDirection()) { connectOutputEvent(*eventCast); } else { rspfNotify(rspfNotifyLevel_WARN) << "rspfConnectableObjectListener::processEvent, Direction not set\n"; } } } break; } case RSPF_EVENT_PROPERTY_ID: { rspfPropertyEvent* eventCast = dynamic_cast<rspfPropertyEvent*>(&event); if(eventCast) propertyEvent(*eventCast); break; } case RSPF_EVENT_ADD_OBJECT_ID: { rspfContainerEvent* eventCast = dynamic_cast<rspfContainerEvent*>(&event); if(eventCast) { containerEvent(*eventCast); addObjectEvent(*eventCast); } break; } case RSPF_EVENT_REMOVE_OBJECT_ID: { rspfContainerEvent* eventCast = dynamic_cast<rspfContainerEvent*>(&event); if(eventCast) { containerEvent(*eventCast); removeObjectEvent(*eventCast); } break; } case RSPF_EVENT_REFRESH_ID: { rspfRefreshEvent* eventCast = dynamic_cast<rspfRefreshEvent*>(&event); if(eventCast) refreshEvent(*eventCast); break; } default: { rspfListener::processEvent(event); break; } } }