All pastes #751963 Raw Edit

Miscellany

public text v1 · immutable
#751963 ·published 2007-10-27 22:01 UTC
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; 
}