Mercurial > projects > dstep
diff dstep/coreservices/searchkit/SKSearch.d @ 11:07194b026fa4
Added bindings to a couple of frameworks, new license + some other things
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Sat, 01 Aug 2009 15:03:28 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dstep/coreservices/searchkit/SKSearch.d Sat Aug 01 15:03:28 2009 +0200 @@ -0,0 +1,67 @@ +/** + * Copyright: Copyright (c) 2009 Jacob Carlborg. + * Authors: Jacob Carlborg + * Version: Initial created: Jul 22, 2009 + * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) + */ +module dstep.coreservices.searchkit.SKSearch; + +//import dstep.AvailabilityMacros; +import dstep.corefoundation.CFArray; +import dstep.corefoundation.CFBase; +import dstep.corefoundation.CFDate; +import dstep.corefoundation.CFDictionary; +import dstep.corefoundation.CFURL; +import dstep.coreservices.searchkit.SKDocument; +import dstep.coreservices.searchkit.SKIndex; + +struct __SKSearchGroup; +struct __SKSearchResults; +struct __SKSearch; + +alias __SKSearchGroup* SKSearchGroupRef; +alias __SKSearchResults* SKSearchResultsRef; +alias int SKSearchType; +alias __SKSearch* SKSearchRef; +alias uint SKSearchOptions; + +extern (C) +{ + alias ubyte function (SKIndexRef, SKDocumentRef, void*) SKSearchResultsFilterCallBack; +} + +enum /*SKSearchType*/ +{ + kSKSearchRanked = 0, + kSKSearchBooleanRanked = 1, + kSKSearchRequiredRanked = 2, + kSKSearchPrefixRanked = 3 +} + +enum +{ + kSKSearchOptionDefault = 0, + kSKSearchOptionNoRelevanceScores = 1L << 0, + kSKSearchOptionSpaceMeansOR = 1L << 1, + kSKSearchOptionFindSimilar = 1L << 2 +} + +extern (C) +{ + uint SKSearchGroupGetTypeID (); + uint SKSearchResultsGetTypeID (); + SKSearchGroupRef SKSearchGroupCreate (CFArrayRef inArrayOfInIndexes); + CFArrayRef SKSearchGroupCopyIndexes (SKSearchGroupRef inSearchGroup); + SKSearchResultsRef SKSearchResultsCreateWithQuery (SKSearchGroupRef inSearchGroup, CFStringRef inQuery, int inSearchType, int inMaxFoundDocuments, void* inContext, SKSearchResultsFilterCallBack inFilterCallBack); + SKSearchResultsRef SKSearchResultsCreateWithDocuments (SKSearchGroupRef inSearchGroup, CFArrayRef inExampleDocuments, int inMaxFoundDocuments, void* inContext, SKSearchResultsFilterCallBack inFilterCallBack); + int SKSearchResultsGetCount (SKSearchResultsRef inSearchResults); + int SKSearchResultsGetInfoInRange (SKSearchResultsRef inSearchResults, CFRange inRange, SKDocumentRef* outDocumentsArray, SKIndexRef* outIndexesArray, float* outScoresArray); + CFArrayRef SKSearchResultsCopyMatchingTerms (SKSearchResultsRef inSearchResults, int inItem); + uint SKSearchGetTypeID (); + SKSearchRef SKSearchCreate (SKIndexRef inIndex, CFStringRef inQuery, uint inSearchOptions); + void SKSearchCancel (SKSearchRef inSearch); + ubyte SKSearchFindMatches (SKSearchRef inSearch, int inMaximumCount, SKDocumentID* outDocumentIDsArray, float* outScoresArray, double maximumTime, CFIndex* outFoundCount); + void SKIndexCopyInfoForDocumentIDs (SKIndexRef inIndex, int inCount, SKDocumentID* inDocumentIDsArray, CFStringRef* outNamesArray, SKDocumentID* outParentIDsArray); + void SKIndexCopyDocumentRefsForDocumentIDs (SKIndexRef inIndex, int inCount, SKDocumentID* inDocumentIDsArray, SKDocumentRef* outDocumentRefsArray); + void SKIndexCopyDocumentURLsForDocumentIDs (SKIndexRef inIndex, int inCount, SKDocumentID* inDocumentIDsArray, CFURLRef* outDocumentURLsArray); +} \ No newline at end of file