39 if (sStandardMappings == nil) { 40 sStandardMappings = [[NSMutableDictionary alloc] init]; 41 [sStandardMappings setObject:NSStringPboardType 42 forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_STRING]]; 43 [sStandardMappings setObject:NSFilenamesPboardType 44 forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_FILE]]; 45 [sStandardMappings setObject:NSTIFFPboardType 46 forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_TIFF]]; 47 [sStandardMappings setObject:NSRTFPboardType 48 forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_RICH_TEXT]]; 49 [sStandardMappings setObject:NSHTMLPboardType 50 forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_HTML]]; 51 [sStandardMappings setObject:NSPDFPboardType 52 forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_PDF]]; 53 [sStandardMappings setObject:NSURLPboardType 54 forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_URL]]; 55 [sStandardMappings setObject:NSPasteboardTypePNG 56 forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_PNG]]; 57 [sStandardMappings setObject:(NSString*)kUTTypeJPEG 58 forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_JPEG]]; 59 } 60 return sStandardMappings; 61 } 62 63 /* 64 * Convert from a standard NSPasteboard data type to an index in our mapping table. 65 */ 66 jlong indexForFormat(NSString *format) { 67 jlong returnValue = -1; 68 69 NSMutableDictionary *mappingTable = getMappingTable(); 70 NSArray *matchingKeys = [mappingTable allKeysForObject:format]; 71 72 // There should only be one matching key here... 73 if ([matchingKeys count] > 0) { 74 NSNumber *formatID = (NSNumber *)[matchingKeys objectAtIndex:0]; 75 returnValue = [formatID longValue]; 76 } 77 78 // If we don't recognize the format, but it's a Java "custom" format register it | 39 if (sStandardMappings == nil) { 40 sStandardMappings = [[NSMutableDictionary alloc] init]; 41 [sStandardMappings setObject:NSStringPboardType 42 forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_STRING]]; 43 [sStandardMappings setObject:NSFilenamesPboardType 44 forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_FILE]]; 45 [sStandardMappings setObject:NSTIFFPboardType 46 forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_TIFF]]; 47 [sStandardMappings setObject:NSRTFPboardType 48 forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_RICH_TEXT]]; 49 [sStandardMappings setObject:NSHTMLPboardType 50 forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_HTML]]; 51 [sStandardMappings setObject:NSPDFPboardType 52 forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_PDF]]; 53 [sStandardMappings setObject:NSURLPboardType 54 forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_URL]]; 55 [sStandardMappings setObject:NSPasteboardTypePNG 56 forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_PNG]]; 57 [sStandardMappings setObject:(NSString*)kUTTypeJPEG 58 forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_JPEG]]; 59 [sStandardMappings setObject:NSPICTPboardType 60 forKey:[NSNumber numberWithLong:sun_lwawt_macosx_CDataTransferer_CF_XPICT]]; 61 } 62 return sStandardMappings; 63 } 64 65 /* 66 * Convert from a standard NSPasteboard data type to an index in our mapping table. 67 */ 68 jlong indexForFormat(NSString *format) { 69 jlong returnValue = -1; 70 71 NSMutableDictionary *mappingTable = getMappingTable(); 72 NSArray *matchingKeys = [mappingTable allKeysForObject:format]; 73 74 // There should only be one matching key here... 75 if ([matchingKeys count] > 0) { 76 NSNumber *formatID = (NSNumber *)[matchingKeys objectAtIndex:0]; 77 returnValue = [formatID longValue]; 78 } 79 80 // If we don't recognize the format, but it's a Java "custom" format register it |