#include #include #include 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; }