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