rendered paste body#include <CoreServices/CoreServices.h>
#include <Carbon/Carbon.h>
#include <ICADevices/ICD_CameraCalls.h>
OSErr TakePicture(ICAObject imageObject);
OSErr DownloadFileToDesktopFolder (ICAObject imageObject);
/* Abstract: Picture should be taken by external camera, saved to ~/Pictures/image.jpg */
int main (int argc, const char * argv[]) {
printf("Step 0: Initiating Picture Taking Sequence\n");
printf("Step 1: Sending Message to camera to take picture\n");
ICAObject pictureObject;
OSErr pictureErr;
pictureErr = TakePicture(pictureObject);
printf("Step 2: Sending Message to camera to retrieve picture\n");
ICAObject getPictureObject;
OSErr getErr;
getErr = DownloadFileToDesktopFolder(getPictureObject);
//printf(12);
//printf(getErr);
return 0;
}
OSErr TakePicture(ICAObject imageObject){
ICAObjectSendMessagePB objectSendMessagePB;
OSErr err = noErr;
memset(&objectSendMessagePB, 0, sizeof(ICAObjectSendMessagePB));
objectSendMessagePB.object = imageObject;
objectSendMessagePB.message.messageType = kICAMessageCameraCaptureNewImage;
err = ICAObjectSendMessage (&objectSendMessagePB, nil);
return err;
}
OSErr DownloadFileToDesktopFolder (ICAObject imageObject)
{
OSErr err = noErr;
ICADownloadFilePB downloadFilePB;
FSRef desktopFolderFSRef;
FSFindFolder(kOnAppropriateDisk, kDesktopFolderType, false, &desktopFolderFSRef);
memset(&downloadFilePB, 0, sizeof(ICADownloadFilePB));
downloadFilePB.object = imageObject;
downloadFilePB.dirFSRef = &desktopFolderFSRef;
downloadFilePB.flags = kCreateCustomIcon | kAddMetaDataToFinderComment;
err = ICADownloadFile(&downloadFilePB, nil);
return err;
}