Mercurial > projects > dstep
diff dstep/coreservices/searchkit/SKIndex.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/SKIndex.d Sat Aug 01 15:03:28 2009 +0200 @@ -0,0 +1,81 @@ +/** + * 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.SKIndex; + +//import dstep.AvailabilityMacros; +import dstep.corefoundation.CFArray; +import dstep.corefoundation.CFBase; +import dstep.corefoundation.CFData; +import dstep.corefoundation.CFDictionary; +import dstep.corefoundation.CFURL; +import dstep.coreservices.searchkit.SKDocument; + +struct __SKIndex; +struct __SKIndexDocumentIterator; + +alias __SKIndex* SKIndexRef; +alias __SKIndexDocumentIterator* SKIndexDocumentIteratorRef; +alias int SKIndexType; +alias int SKDocumentIndexState; +alias int SKDocumentID; + +enum /*SKIndexType*/ +{ + kSKIndexUnknown = 0, + kSKIndexInverted = 1, + kSKIndexVector = 2, + kSKIndexInvertedVector = 3 +} + +enum /*SKDocumentIndexState*/ +{ + kSKDocumentStateNotIndexed = 0, + kSKDocumentStateIndexed = 1, + kSKDocumentStateAddPending = 2, + kSKDocumentStateDeletePending = 3 +} + +extern (C) +{ + uint SKIndexGetTypeID (); + uint SKIndexDocumentIteratorGetTypeID (); + SKIndexRef SKIndexCreateWithURL (CFURLRef inURL, CFStringRef inIndexName, int inIndexType, CFDictionaryRef inAnalysisProperties); + SKIndexRef SKIndexOpenWithURL (CFURLRef inURL, CFStringRef inIndexName, ubyte inWriteAccess); + SKIndexRef SKIndexCreateWithMutableData (CFMutableDataRef inData, CFStringRef inIndexName, int inIndexType, CFDictionaryRef inAnalysisProperties); + SKIndexRef SKIndexOpenWithData (CFDataRef inData, CFStringRef inIndexName); + SKIndexRef SKIndexOpenWithMutableData (CFMutableDataRef inData, CFStringRef inIndexName); + ubyte SKIndexFlush (SKIndexRef inIndex); + void SKIndexSetMaximumBytesBeforeFlush (SKIndexRef inIndex, int inBytesForUpdate); + int SKIndexGetMaximumBytesBeforeFlush (SKIndexRef inIndex); + ubyte SKIndexCompact (SKIndexRef inIndex); + int SKIndexGetIndexType (SKIndexRef inIndex); + CFDictionaryRef SKIndexGetAnalysisProperties (SKIndexRef inIndex); + int SKIndexGetDocumentCount (SKIndexRef inIndex); + void SKIndexClose (SKIndexRef inIndex); + ubyte SKIndexAddDocumentWithText (SKIndexRef inIndex, SKDocumentRef inDocument, CFStringRef inDocumentText, ubyte inCanReplace); + ubyte SKIndexAddDocument (SKIndexRef inIndex, SKDocumentRef inDocument, CFStringRef inMIMETypeHint, ubyte inCanReplace); + ubyte SKIndexRemoveDocument (SKIndexRef inIndex, SKDocumentRef inDocument); + CFDictionaryRef SKIndexCopyDocumentProperties (SKIndexRef inIndex, SKDocumentRef inDocument); + void SKIndexSetDocumentProperties (SKIndexRef inIndex, SKDocumentRef inDocument, CFDictionaryRef inProperties); + int SKIndexGetDocumentState (SKIndexRef inIndex, SKDocumentRef inDocument); + int SKIndexGetDocumentID (SKIndexRef inIndex, SKDocumentRef inDocument); + SKDocumentRef SKIndexCopyDocumentForDocumentID (SKIndexRef inIndex, int inDocumentID); + ubyte SKIndexRenameDocument (SKIndexRef inIndex, SKDocumentRef inDocument, CFStringRef inNewName); + ubyte SKIndexMoveDocument (SKIndexRef inIndex, SKDocumentRef inDocument, SKDocumentRef inNewParent); + SKIndexDocumentIteratorRef SKIndexDocumentIteratorCreate (SKIndexRef inIndex, SKDocumentRef inParentDocument); + SKDocumentRef SKIndexDocumentIteratorCopyNext (SKIndexDocumentIteratorRef inIterator); + int SKIndexGetMaximumDocumentID (SKIndexRef inIndex); + int SKIndexGetDocumentTermCount (SKIndexRef inIndex, int inDocumentID); + CFArrayRef SKIndexCopyTermIDArrayForDocumentID (SKIndexRef inIndex, int inDocumentID); + int SKIndexGetDocumentTermFrequency (SKIndexRef inIndex, int inDocumentID, int inTermID); + int SKIndexGetMaximumTermID (SKIndexRef inIndex); + int SKIndexGetTermDocumentCount (SKIndexRef inIndex, int inTermID); + CFArrayRef SKIndexCopyDocumentIDArrayForTermID (SKIndexRef inIndex, int inTermID); + CFStringRef SKIndexCopyTermStringForTermID (SKIndexRef inIndex, int inTermID); + int SKIndexGetTermIDForTermString (SKIndexRef inIndex, CFStringRef inTermString); + void SKLoadDefaultExtractorPlugIns (); +} \ No newline at end of file