Camera::Camera(const EdsCameraRef& camera) { if (!camera) { throw std::runtime_error(""); } EdsRetain(camera); mCamera = camera; EdsError error = EdsGetDeviceInfo(mCamera, &mDeviceInfo); if (error != EDS_ERR_OK) { std::cerr << "ERROR - failed to get device info" << std::endl; // TODO - NULL out mDeviceInfo } mHasOpenSession = false; mIsLiveView = false; // set event handlers error = EdsSetObjectEventHandler(mCamera, kEdsObjectEvent_All, Camera::handleObjectEvent, this); if (error != EDS_ERR_OK) { std::cerr << "ERROR - failed to set object event handler" << std::endl; } error = EdsSetPropertyEventHandler(mCamera, kEdsPropertyEvent_All, Camera::handlePropertyEvent, this); if (error != EDS_ERR_OK) { std::cerr << "ERROR - failed to set property event handler" << std::endl; } error = EdsSetCameraStateEventHandler(mCamera, kEdsStateEvent_All, Camera::handleStateEvent, this); if (error != EDS_ERR_OK) { std::cerr << "ERROR - failed to set object event handler" << std::endl; } }
EdsError CPropertyString::SetImageRef(EdsImageRef imageRef) { if(m_ImgRef!=NULL) EdsRelease(m_ImgRef); if(m_propItem!=NULL) delete m_propItem; m_ImgRef = imageRef; EdsRetain(m_ImgRef); return EDS_ERR_OK; }
CameraFile::CameraFile(const EdsDirectoryItemRef& directoryItem) { if (!directoryItem) { throw std::runtime_error(""); } EdsRetain(directoryItem); mDirectoryItem = directoryItem; EdsError error = EdsGetDirectoryItemInfo(mDirectoryItem, &mDirectoryItemInfo); if (error != EDS_ERR_OK) { std::cerr << "ERROR - failed to get directory item info" << std::endl; throw std::runtime_error("ERROR - failed to get directory item info"); } }
CPropertyString::CPropertyString(EdsImageRef imageRef) { m_ImgRef = imageRef; EdsRetain(m_ImgRef); m_propItem = NULL; }