| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| #include <CoreFoundation/CoreFoundation.h> |
| #include <CoreServices/CoreServices.h> |
| #include <Foundation/Foundation.h> |
| |
| |
| #import "OOoSpotlightImporter.h" |
| |
| |
| /* ----------------------------------------------------------------------------- |
| Get metadata attributes from file |
| |
| This function's job is to extract useful information your file format supports |
| and return it as a dictionary |
| ----------------------------------------------------------------------------- */ |
| |
| Boolean GetMetadataForFile(void* thisInterface, |
| CFMutableDictionaryRef attributes, |
| CFStringRef contentTypeUTI, |
| CFStringRef pathToFile) |
| { |
| /* Pull any available metadata from the file at the specified path */ |
| /* Return the attribute keys and attribute values in the dict */ |
| /* Return TRUE if successful, FALSE if there was no data provided */ |
| NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; |
| |
| OOoSpotlightImporter *importer = [OOoSpotlightImporter new]; |
| |
| Boolean importOK = NO; |
| @try { |
| importOK = [importer importDocument:(NSString*)pathToFile |
| contentType:(NSString*)contentTypeUTI |
| attributes:(NSMutableDictionary*)attributes]; |
| } |
| @catch (NSException *exception) { |
| NSLog(@"main: Caught %@: %@", [exception name], [exception reason]); |
| } |
| |
| [importer release]; |
| |
| [pool release]; |
| |
| return importOK; |
| } |