metadata

package
v0.7.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 19, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Rendered for darwin/amd64

Overview

Package metadata provides purego-based Go bindings for the macOS Metadata framework.

Apple documentation: https://developer.apple.com/documentation/metadata

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func KMDAttributeAllValues

func KMDAttributeAllValues() uintptr

func KMDAttributeDisplayValues

func KMDAttributeDisplayValues() uintptr

func KMDAttributeMultiValued

func KMDAttributeMultiValued() uintptr

func KMDAttributeName

func KMDAttributeName() uintptr

func KMDAttributeReadOnlyValues

func KMDAttributeReadOnlyValues() uintptr

func KMDAttributeType

func KMDAttributeType() uintptr

func KMDExporterAvaliable

func KMDExporterAvaliable() uintptr

func KMDItemAcquisitionMake

func KMDItemAcquisitionMake() uintptr

func KMDItemAcquisitionModel

func KMDItemAcquisitionModel() uintptr

func KMDItemAlbum

func KMDItemAlbum() uintptr

func KMDItemAltitude

func KMDItemAltitude() uintptr

func KMDItemAperture

func KMDItemAperture() uintptr

func KMDItemAppleLoopDescriptors

func KMDItemAppleLoopDescriptors() uintptr

func KMDItemAppleLoopsKeyFilterType

func KMDItemAppleLoopsKeyFilterType() uintptr

func KMDItemAppleLoopsLoopMode

func KMDItemAppleLoopsLoopMode() uintptr

func KMDItemAppleLoopsRootKey

func KMDItemAppleLoopsRootKey() uintptr

func KMDItemApplicationCategories

func KMDItemApplicationCategories() uintptr

func KMDItemAttributeChangeDate

func KMDItemAttributeChangeDate() uintptr

func KMDItemAudiences

func KMDItemAudiences() uintptr

func KMDItemAudioBitRate

func KMDItemAudioBitRate() uintptr

func KMDItemAudioChannelCount

func KMDItemAudioChannelCount() uintptr

func KMDItemAudioEncodingApplication

func KMDItemAudioEncodingApplication() uintptr

func KMDItemAudioSampleRate

func KMDItemAudioSampleRate() uintptr

func KMDItemAudioTrackNumber

func KMDItemAudioTrackNumber() uintptr

func KMDItemAuthorAddresses

func KMDItemAuthorAddresses() uintptr

func KMDItemAuthorEmailAddresses

func KMDItemAuthorEmailAddresses() uintptr

func KMDItemAuthors

func KMDItemAuthors() uintptr

func KMDItemBitsPerSample

func KMDItemBitsPerSample() uintptr

func KMDItemCFBundleIdentifier

func KMDItemCFBundleIdentifier() uintptr

func KMDItemCameraOwner

func KMDItemCameraOwner() uintptr

func KMDItemCity

func KMDItemCity() uintptr

func KMDItemCodecs

func KMDItemCodecs() uintptr

func KMDItemColorSpace

func KMDItemColorSpace() uintptr

func KMDItemComment

func KMDItemComment() uintptr

func KMDItemComposer

func KMDItemComposer() uintptr

func KMDItemContactKeywords

func KMDItemContactKeywords() uintptr

func KMDItemContentCreationDate

func KMDItemContentCreationDate() uintptr

func KMDItemContentModificationDate

func KMDItemContentModificationDate() uintptr

func KMDItemContentType

func KMDItemContentType() uintptr

func KMDItemContentTypeTree

func KMDItemContentTypeTree() uintptr

func KMDItemContributors

func KMDItemContributors() uintptr

func KMDItemCopyright

func KMDItemCopyright() uintptr

func KMDItemCountry

func KMDItemCountry() uintptr

func KMDItemCoverage

func KMDItemCoverage() uintptr

func KMDItemCreator

func KMDItemCreator() uintptr

func KMDItemDateAdded

func KMDItemDateAdded() uintptr

func KMDItemDeliveryType

func KMDItemDeliveryType() uintptr

func KMDItemDescription

func KMDItemDescription() uintptr

func KMDItemDirector

func KMDItemDirector() uintptr

func KMDItemDisplayName

func KMDItemDisplayName() uintptr

func KMDItemDownloadedDate

func KMDItemDownloadedDate() uintptr

func KMDItemDueDate

func KMDItemDueDate() uintptr

func KMDItemDurationSeconds

func KMDItemDurationSeconds() uintptr

func KMDItemEXIFGPSVersion

func KMDItemEXIFGPSVersion() uintptr

func KMDItemEXIFVersion

func KMDItemEXIFVersion() uintptr

func KMDItemEditors

func KMDItemEditors() uintptr

func KMDItemEmailAddresses

func KMDItemEmailAddresses() uintptr

func KMDItemEncodingApplications

func KMDItemEncodingApplications() uintptr

func KMDItemExecutableArchitectures

func KMDItemExecutableArchitectures() uintptr

func KMDItemExecutablePlatform

func KMDItemExecutablePlatform() uintptr

func KMDItemExposureMode

func KMDItemExposureMode() uintptr

func KMDItemExposureProgram

func KMDItemExposureProgram() uintptr

func KMDItemExposureTimeSeconds

func KMDItemExposureTimeSeconds() uintptr

func KMDItemExposureTimeString

func KMDItemExposureTimeString() uintptr

func KMDItemFNumber

func KMDItemFNumber() uintptr

func KMDItemFSContentChangeDate

func KMDItemFSContentChangeDate() uintptr

func KMDItemFSCreationDate

func KMDItemFSCreationDate() uintptr

func KMDItemFSExists deprecated

func KMDItemFSExists() uintptr

Deprecated: No longer supported

func KMDItemFSHasCustomIcon deprecated

func KMDItemFSHasCustomIcon() uintptr

Deprecated: No longer supported

func KMDItemFSInvisible deprecated

func KMDItemFSInvisible() uintptr

Deprecated: No longer supported

func KMDItemFSIsExtensionHidden deprecated

func KMDItemFSIsExtensionHidden() uintptr

Deprecated: No longer supported

func KMDItemFSIsReadable deprecated

func KMDItemFSIsReadable() uintptr

Deprecated: No longer supported

func KMDItemFSIsStationery deprecated

func KMDItemFSIsStationery() uintptr

Deprecated: No longer supported

func KMDItemFSIsWriteable deprecated

func KMDItemFSIsWriteable() uintptr

Deprecated: No longer supported

func KMDItemFSLabel

func KMDItemFSLabel() uintptr

func KMDItemFSName

func KMDItemFSName() uintptr

func KMDItemFSNodeCount

func KMDItemFSNodeCount() uintptr

func KMDItemFSOwnerGroupID

func KMDItemFSOwnerGroupID() uintptr

func KMDItemFSOwnerUserID

func KMDItemFSOwnerUserID() uintptr

func KMDItemFSSize

func KMDItemFSSize() uintptr

func KMDItemFinderComment

func KMDItemFinderComment() uintptr

func KMDItemFlashOnOff

func KMDItemFlashOnOff() uintptr

func KMDItemFocalLength

func KMDItemFocalLength() uintptr

func KMDItemFocalLength35mm

func KMDItemFocalLength35mm() uintptr

func KMDItemFonts

func KMDItemFonts() uintptr

func KMDItemGPSAreaInformation

func KMDItemGPSAreaInformation() uintptr

func KMDItemGPSDOP

func KMDItemGPSDOP() uintptr

func KMDItemGPSDateStamp

func KMDItemGPSDateStamp() uintptr

func KMDItemGPSDestBearing

func KMDItemGPSDestBearing() uintptr

func KMDItemGPSDestDistance

func KMDItemGPSDestDistance() uintptr

func KMDItemGPSDestLatitude

func KMDItemGPSDestLatitude() uintptr

func KMDItemGPSDestLongitude

func KMDItemGPSDestLongitude() uintptr

func KMDItemGPSDifferental

func KMDItemGPSDifferental() uintptr

func KMDItemGPSMapDatum

func KMDItemGPSMapDatum() uintptr

func KMDItemGPSMeasureMode

func KMDItemGPSMeasureMode() uintptr

func KMDItemGPSProcessingMethod

func KMDItemGPSProcessingMethod() uintptr

func KMDItemGPSStatus

func KMDItemGPSStatus() uintptr

func KMDItemGPSTrack

func KMDItemGPSTrack() uintptr

func KMDItemGenre

func KMDItemGenre() uintptr

func KMDItemHTMLContent

func KMDItemHTMLContent() uintptr

func KMDItemHasAlphaChannel

func KMDItemHasAlphaChannel() uintptr

func KMDItemHeadline

func KMDItemHeadline() uintptr

func KMDItemISOSpeed

func KMDItemISOSpeed() uintptr

func KMDItemIdentifier

func KMDItemIdentifier() uintptr

func KMDItemImageDirection

func KMDItemImageDirection() uintptr

func KMDItemInformation

func KMDItemInformation() uintptr

@const kMDItemInformation Information about the item @const kMDItemDirector Director of the movie @const kMDItemProducer Producer of the content @const kMDItemGenre Genre of the movie @const kMDItemPerformers Performers in the movie @const kMDItemOriginalFormat Original format of the movie @const kMDItemOriginalSource Original source of the movie @const kMDItemAuthorEmailAddresses This attribute indicates the author of the emails message addresses. (This is always the email address, and not the human readable version) @const kMDItemRecipientEmailAddresses This attribute indicates the recipients email addresses. (This is always the email address, and not the human readable version). @const kMDItemAuthorAddresses This attribute indicates the author addresses of the document. @const kMDItemRecipientAddresses This attribute indicates the recipient addresses of the document. @const kMDItemURL Url of the item @const kMDItemIsLikelyJunk This attribute indicates if the document is likely to be considered junk. @const kMDItemExecutableArchitectures Array of executables architectures the item contains. @const kMDItemExecutablePlatform Indicates platform required to execute this application. @const kMDItemApplicationCategories Array of categories the item application is a member of.

func KMDItemInstantMessageAddresses

func KMDItemInstantMessageAddresses() uintptr

func KMDItemInstructions

func KMDItemInstructions() uintptr

func KMDItemIsApplicationManaged

func KMDItemIsApplicationManaged() uintptr

func KMDItemIsGeneralMIDISequence

func KMDItemIsGeneralMIDISequence() uintptr

func KMDItemIsLikelyJunk

func KMDItemIsLikelyJunk() uintptr

func KMDItemKeySignature

func KMDItemKeySignature() uintptr

func KMDItemKeywords

func KMDItemKeywords() uintptr

func KMDItemKind

func KMDItemKind() uintptr

func KMDItemLabelID deprecated

func KMDItemLabelID() uintptr

Deprecated: No longer supported

func KMDItemLabelIcon deprecated

func KMDItemLabelIcon() uintptr

Deprecated: No longer supported

func KMDItemLabelKind deprecated

func KMDItemLabelKind() uintptr

Deprecated: No longer supported

func KMDItemLabelUUID deprecated

func KMDItemLabelUUID() uintptr

Deprecated: No longer supported

func KMDItemLanguages

func KMDItemLanguages() uintptr

func KMDItemLastUsedDate

func KMDItemLastUsedDate() uintptr

func KMDItemLatitude

func KMDItemLatitude() uintptr

func KMDItemLayerNames

func KMDItemLayerNames() uintptr

func KMDItemLensModel

func KMDItemLensModel() uintptr

func KMDItemLongitude

func KMDItemLongitude() uintptr

func KMDItemLyricist

func KMDItemLyricist() uintptr

func KMDItemMaxAperture

func KMDItemMaxAperture() uintptr

func KMDItemMediaExtensions

func KMDItemMediaExtensions() uintptr

func KMDItemMediaTypes

func KMDItemMediaTypes() uintptr

func KMDItemMeteringMode

func KMDItemMeteringMode() uintptr

func KMDItemMusicalGenre

func KMDItemMusicalGenre() uintptr

func KMDItemMusicalInstrumentCategory

func KMDItemMusicalInstrumentCategory() uintptr

func KMDItemMusicalInstrumentName

func KMDItemMusicalInstrumentName() uintptr

func KMDItemNamedLocation

func KMDItemNamedLocation() uintptr

func KMDItemNumberOfPages

func KMDItemNumberOfPages() uintptr

func KMDItemOrganizations

func KMDItemOrganizations() uintptr

func KMDItemOrientation

func KMDItemOrientation() uintptr

func KMDItemOriginalFormat

func KMDItemOriginalFormat() uintptr

func KMDItemOriginalSource

func KMDItemOriginalSource() uintptr

func KMDItemPageHeight

func KMDItemPageHeight() uintptr

func KMDItemPageWidth

func KMDItemPageWidth() uintptr

func KMDItemParticipants

func KMDItemParticipants() uintptr

func KMDItemPath

func KMDItemPath() uintptr

func KMDItemPerformers

func KMDItemPerformers() uintptr

func KMDItemPhoneNumbers

func KMDItemPhoneNumbers() uintptr

func KMDItemPixelCount

func KMDItemPixelCount() uintptr

func KMDItemPixelHeight

func KMDItemPixelHeight() uintptr

func KMDItemPixelWidth

func KMDItemPixelWidth() uintptr

func KMDItemProducer

func KMDItemProducer() uintptr

func KMDItemProfileName

func KMDItemProfileName() uintptr

func KMDItemProjects

func KMDItemProjects() uintptr

func KMDItemPublishers

func KMDItemPublishers() uintptr

func KMDItemRecipientAddresses

func KMDItemRecipientAddresses() uintptr

func KMDItemRecipientEmailAddresses

func KMDItemRecipientEmailAddresses() uintptr

func KMDItemRecipients

func KMDItemRecipients() uintptr

func KMDItemRecordingDate

func KMDItemRecordingDate() uintptr

func KMDItemRecordingYear

func KMDItemRecordingYear() uintptr

func KMDItemRedEyeOnOff

func KMDItemRedEyeOnOff() uintptr

func KMDItemResolutionHeightDPI

func KMDItemResolutionHeightDPI() uintptr

func KMDItemResolutionWidthDPI

func KMDItemResolutionWidthDPI() uintptr

func KMDItemRights

func KMDItemRights() uintptr

func KMDItemSecurityMethod

func KMDItemSecurityMethod() uintptr

func KMDItemSpeed

func KMDItemSpeed() uintptr

func KMDItemStarRating

func KMDItemStarRating() uintptr

func KMDItemStateOrProvince

func KMDItemStateOrProvince() uintptr

func KMDItemStreamable

func KMDItemStreamable() uintptr

func KMDItemSubject

func KMDItemSubject() uintptr

func KMDItemSupportFileType deprecated

func KMDItemSupportFileType() uintptr

Deprecated: No longer supported

func KMDItemTempo

func KMDItemTempo() uintptr

func KMDItemTextContent

func KMDItemTextContent() uintptr

func KMDItemTheme

func KMDItemTheme() uintptr

func KMDItemTimeSignature

func KMDItemTimeSignature() uintptr

func KMDItemTimestamp

func KMDItemTimestamp() uintptr

func KMDItemTitle

func KMDItemTitle() uintptr

func KMDItemTotalBitRate

func KMDItemTotalBitRate() uintptr

func KMDItemURL

func KMDItemURL() uintptr

func KMDItemVersion

func KMDItemVersion() uintptr

func KMDItemVideoBitRate

func KMDItemVideoBitRate() uintptr

func KMDItemWhereFroms

func KMDItemWhereFroms() uintptr

func KMDItemWhiteBalance

func KMDItemWhiteBalance() uintptr

func KMDItemXMPCredit

func KMDItemXMPCredit() uintptr

func KMDItemXMPDigitalSourceType

func KMDItemXMPDigitalSourceType() uintptr

func KMDLabelAddedNotification

func KMDLabelAddedNotification() uintptr

@constant kMDLabelAddedNotification @abstract The name of the notification sent when a label has been added. The notification object is the subject MDLabelRef. All label notifications are distributed to processes owned by the same uid that have initialized the Metadata framework label APIs.

func KMDLabelBundleURL

func KMDLabelBundleURL() uintptr

@constant kMDLabelBundleURL @abstract This is the bundle URL for the label. Type is a CFURL. This attribute is read-only. @constant kMDLabelContentChangeDate @abstract This is the date the the label content last changed. Type is a CFDate. This attribute is read-only, but its value will be altered by setting any of the writable attributes described below. @constant kMDLabelDisplayName @abstract This is the localized name of the label. Type is a CFString. @constant kMDLabelIconData @abstract This is the data that should be used to create an icon image source for the label. Pass this data to the ImageIO framework to create a CGImageSourceRef. To reset a label's icon to its default image, set kMDLabelIconData to kCFNull. Type is a CFData. @constant kMDLabelIconUUID @abstract This is the UUID of the icon image source for the label. Labels that share the same icon image source will have the same icon UUID. Type is a CFUUID. This attribute is read-only, but its value may be altered by setting the kMDLabelIconData attribute described above. @constant kMDLabelIsMutuallyExclusiveSetMember @abstract This attribute is true if the label kind specifies a mutually-exclusive set of labels. Type is a CFBoolean. This attribute is read-only. @constant kMDLabelKind @abstract This is the kind string for the label. The label kind is the name of the bundle the label is defined in. Type is a CFString. This attribute is read-only. @constant kMDLabelSetsFinderColor @abstract This attribute is optional and applicable only to labels with "Public" visibility. If it is present, then when the label is set on a file the file's Finder color will be set to the specified value (0 - 7). If the label is later removed, the file's Finder color will be reverted either to the color specified by the most-recently-set label with this attribute that remains set on the file, or to 0 (none). Type is a CFNumber. This attribute is ignored for unless the label's visibility is "Public". @constant kMDLabelUUID @abstract This is the UUID of the label. Type is a CFUUID. This attribute is read-only. @constant kMDLabelVisibility @abstract This is a constant describing the label's visibility, either "Public" (kMDPublicVisibility) or "Private" (kMDPrivateVisibility). Type is a CFString. This attribute is read-only.

func KMDLabelChangedNotification

func KMDLabelChangedNotification() uintptr

@constant kMDLabelChangedNotification @abstract The name of the notification sent when a label has been changed. The notification object is the subject MDLabelRef. The label's new attributes can be retrieved using MDLabelCopyAttribute().

func KMDLabelContentChangeDate

func KMDLabelContentChangeDate() uintptr

func KMDLabelDisplayName

func KMDLabelDisplayName() uintptr

func KMDLabelIconData

func KMDLabelIconData() uintptr

func KMDLabelIconUUID

func KMDLabelIconUUID() uintptr

func KMDLabelIsMutuallyExclusiveSetMember

func KMDLabelIsMutuallyExclusiveSetMember() uintptr

func KMDLabelKind

func KMDLabelKind() uintptr

func KMDLabelKindIsMutuallyExclusiveSetKey

func KMDLabelKindIsMutuallyExclusiveSetKey() uintptr

@constant kMDLabelKindIsMutuallyExclusiveSetKey @abstract This key is used in the Info.plist file of a label bundle to specify that the label kind constitutes a mutually exclusive set. The value is a CFBoolean. @constant kMDLabelKindVisibilityKey @abstract This key is used in the Info.plist file of a label bundle to specify the visibility of the labels defined by the bundle. The value is a CFString constant, either "Public" (kMDPublicVisibility) or "Private" (kMDPrivateVisibility).

func KMDLabelKindVisibilityKey

func KMDLabelKindVisibilityKey() uintptr

func KMDLabelRemovedNotification

func KMDLabelRemovedNotification() uintptr

@constant kMDLabelRemovedNotification @abstract The name of the notification sent when a label has been deleted. The notification object is the subject MDLabelRef. The label's kMDLabelIconUUID, kMDLabelKind, kMDLabelKindBundleURL and kMDLabelUUID attributes can still be retrieved using MDLabelCopyAttribute(), and the label may still be passed to MDLabelCopyAttributeName().

func KMDLabelSetsFinderColor

func KMDLabelSetsFinderColor() uintptr

func KMDLabelUUID

func KMDLabelUUID() uintptr

func KMDLabelVisibility

func KMDLabelVisibility() uintptr

func KMDPrivateVisibility

func KMDPrivateVisibility() uintptr

func KMDPublicVisibility

func KMDPublicVisibility() uintptr

func KMDQueryDidFinishNotification

func KMDQueryDidFinishNotification() uintptr

@constant kMDQueryDidFinishNotification The name of the notification sent to indicate that the query has finished with the initial result-gathering phase, and may now proceed into the live-update phase (if that option was chosen when the query was executed). This notification often shortly follows after the last progress notification. It is usually not necessary to update any displayed UI in response to this notification, since it doesn't indicate any change in the result list of a query.

func KMDQueryDidUpdateNotification

func KMDQueryDidUpdateNotification() uintptr

@constant kMDQueryDidUpdateNotification The name of the notification sent to indicate changes to the query's results list during the second, live-update, phase of a query's execution. This notification can carry the kMDQueryUpdateAddedItems, kMDQueryUpdateChangedItems, and kMDQueryUpdateRemovedItems keys in the info dictionary parameter of the notification. Note that these keys may be have empty arrays for values, or be missing, if there are no changes of that particular type. These notifications are sent out by a query after the kMDQueryDidUpdateNotification.

func KMDQueryProgressNotification

func KMDQueryProgressNotification() uintptr

@constant kMDQueryProgressNotification The name of the notification sent to indicate changes to the query's results list during the initial gathering phase of a query's execution. Mostly adds will occur during this phase, but removals and changes can also occur, as in any update. This info dictionary parameter of the notification can carry the kMDQueryUpdateChangedItems and kMDQueryUpdateRemovedItems keys. Note that these keys may be have empty arrays for values, or be missing, if there are no changes of that particular type. For performance reasons, added results are not indicated in progress notifications (to avoid the cost of creating the result objects). These notifications are sent out by a query before the kMDQueryDidFinishNotification.

func KMDQueryResultContentRelevance

func KMDQueryResultContentRelevance() uintptr

@constant kMDQueryResultContentRelevance The name of a query-specific attribute for use in sorting. The relevance of an item is a CFNumberRef with a floating point value. This is the relevance for content searches. The maximum and minimum values for a particular search cannot be determined until all of the results have been returned. If there are multiple kMDItemTextContent predicates in the query, no relevance is returned. This is an attribute of a result item that is specific to the item in the context of the query. Also, the relevance does not compare the result relative to the other results of a query, but is computed just on the result item itself. Finally, this is only the relevance value for content, not a relevance for the item as a whole. The relevance attribute may not even be computed for an item if the item is found to match the query through evaluation of other attributes of the item than its contents. If the value is not computed, it is treated as an attribute on the item which does not exist (for sorting purposes, for example).

func KMDQueryScopeAllIndexed

func KMDQueryScopeAllIndexed() uintptr

@constant kMDQueryScopeAllIndexed A constant, which can be passed in the scopeDirectories array, to specify that the search should be restricted to indexed, locally mounted volumes and indexed user mounted remote volumes, plus the user's home directory.

func KMDQueryScopeComputer

func KMDQueryScopeComputer() uintptr

@constant kMDQueryScopeComputer A constant, which can be passed in the scopeDirectories array, to specify that the search should be restricted to all locally mounted volumes, plus the user's home directory (which may be on a remote volume).

func KMDQueryScopeComputerIndexed

func KMDQueryScopeComputerIndexed() uintptr

@constant kMDQueryScopeComputerIndexed A constant, which can be passed in the scopeDirectories array, to specify that the search should be restricted to indexed, locally mounted volumes, plus the user's home directory (which may be on a remote volume).

func KMDQueryScopeHome

func KMDQueryScopeHome() uintptr

@constant kMDQueryScopeHome A constant, which can be passed in the scopeDirectories array, to specify that the search should be restricted to the volume and directory that contains the current user's home directory

func KMDQueryScopeNetwork

func KMDQueryScopeNetwork() uintptr

@constant kMDQueryScopeNetwork A constant, which can be passed in the scopeDirectories array, to specify that the search should include all user mounted remote volumes.

func KMDQueryScopeNetworkIndexed

func KMDQueryScopeNetworkIndexed() uintptr

@constant kMDQueryScopeNetworkIndexed A constant, which can be passed in the scopeDirectories array, to specify that the search should include indexed user mounted remote volumes.

func KMDQueryUpdateAddedItems

func KMDQueryUpdateAddedItems() uintptr

@constant kMDQueryUpdateAddedItems The name of the key in a query notification's info dictionary which identifies the list of added results. A result is added if the file contents or some metadata attribute of it is changed, and it now matches the query. Result objects are created for the newly added results, to be put in the list.

func KMDQueryUpdateChangedItems

func KMDQueryUpdateChangedItems() uintptr

@constant kMDQueryUpdateChangedItems The name of the key in a query notification's info dictionary which identifies the list of changed results. A result is changed if the file contents or some metadata attribute of it is changed, but it still matches the query. The list only contains result objects which have previously been created, and does not indicate results which have been changed for which result objects have not been created. [[This is for performance reasons, to avoid creating result objects just to represent a change of a result which has not been looked at, but this semantic may change.]]

func KMDQueryUpdateRemovedItems

func KMDQueryUpdateRemovedItems() uintptr

@constant kMDQueryUpdateRemovedItems The name of the key in a query notification's info dictionary which identifies the list of removed results. A result can be removed if it no longer matches the query. The list only contains result objects which have previously been created, and does not indicate results which have been removed for which result objects have not been created. [[This is for performance reasons, to avoid creating temporary result objects just to represent the deletion of the result, but this semantic may change.]]

func MDCopyLabelKinds

func MDCopyLabelKinds() unsafe.Pointer

@function MDCopyLabelKinds @abstract Copy the list of label kind strings. @result A CFArrayRef containing all of the label kind strings, or NULL on failure.

func MDCopyLabelWithUUID

func MDCopyLabelWithUUID(labelUUID unsafe.Pointer) unsafe.Pointer

@function MDCopyLabelWithUUID @abstract Copy the label with the specified UUID. @param labelUUID The label UUID. @result An MDLabelRef, or NULL on failure.

func MDCopyLabelsMatchingExpression

func MDCopyLabelsMatchingExpression(simpleQueryString unsafe.Pointer) unsafe.Pointer

@function MDCopyLabelsMatchingExpression @abstract Copy the list of labels matching the specified query expression. @param simpleQueryString The query expression string. @result A CFArrayRef containing all of the matching labels, or NULL on failure.

func MDCopyLabelsWithKind

func MDCopyLabelsWithKind(kind unsafe.Pointer) unsafe.Pointer

@function MDCopyLabelsWithKind @abstract Copy the list of labels with the specified kind string. @param kind The kind string, or NULL to copy all labels. @result A CFArrayRef containing all of the labels with the specified kind string, or NULL on failure.

func MDItemCopyAttribute

func MDItemCopyAttribute(item unsafe.Pointer, name unsafe.Pointer) unsafe.Pointer

@function MDItemCopyAttribute Returns the value of the given attribute for the item. @param item The item to be interrogated. @param name The name of the desired attribute. @result A CFTypeRef, or NULL on failure, or if the attribute does not exist, of if the attribute is not readable.

func MDItemCopyAttributeNames

func MDItemCopyAttributeNames(item unsafe.Pointer) unsafe.Pointer

@function MDItemCopyAttributeNames Returns an array of the attribute names existing in the item. @param item The item to be interrogated. @result A CFArray of CFString attribute names, or NULL on failure.

func MDItemCopyAttributes

func MDItemCopyAttributes(item unsafe.Pointer, names unsafe.Pointer) unsafe.Pointer

@function MDItemCopyAttributes Returns the values of the given attributes for the item. @param item The item to be interrogated. @param names A CFArray of the names of the desired attributes. @result A CFDictionary where the keys are the attribute names, and the values are the attribute values, or NULL on failure. If an attribute does not exist, or is unreadable, there will be no key-value pair for it in the dictionary.

func MDItemCopyLabels

func MDItemCopyLabels(item unsafe.Pointer) unsafe.Pointer

@function MDItemCopyLabels @abstract Returns an array of the labels set on the specified item. @param item The item to be interrogated. @result A CFArrayRef containing MDLabelRefs for the labels set on the item, or NULL on failure.

func MDItemCreate

func MDItemCreate(allocator unsafe.Pointer, path unsafe.Pointer) unsafe.Pointer

@function MDItemCreate Returns an metadata item for the given path. @param allocator The CFAllocator which should be used to allocate memory for the query and its sub-storage. This parameter may be NULL in which case the current default CFAllocator is used. @param path A path to the file for which to create the MDItem. [[Currently, the path must exist. MDItemRefs may or may not be uniqued. Use CFEqual() to compare them.]] @result An MDItemRef, or NULL on failure.

func MDItemCreateWithURL

func MDItemCreateWithURL(allocator unsafe.Pointer, url unsafe.Pointer) unsafe.Pointer

@function MDItemCreateWithURL Returns an metadata item for the given path. @param allocator The CFAllocator which should be used to allocate memory for the query and its sub-storage. This parameter may be NULL in which case the current default CFAllocator is used. @param url A url to the file for which to create the MDItem. [[Currently, the file must exist. MDItemRefs may or may not be uniqued. Use CFEqual() to compare them.]] @result An MDItemRef, or NULL on failure.

func MDItemGetCacheFileDescriptors

func MDItemGetCacheFileDescriptors(items unsafe.Pointer, completionHandler func(unsafe.Pointer))

func MDItemGetTypeID

func MDItemGetTypeID() uint

@function MDItemGetTypeID Returns the type identifier of all MDItem instances.

func MDItemRemoveLabel

func MDItemRemoveLabel(item unsafe.Pointer, label unsafe.Pointer) uint8

@function MDItemRemoveLabel @abstract Removes a label from the specified item. @param item The item to be updated. @param label The label. @result True if the label was successfully removed from the item, false otherwise.

func MDItemSetLabel

func MDItemSetLabel(item unsafe.Pointer, label unsafe.Pointer) uint8

@function MDItemSetLabel @abstract Sets a label on the specified item. @param item The item to be updated. @param label The label. @result True if the label was successfully set on the item, false otherwise.

func MDItemsCopyAttributes

func MDItemsCopyAttributes(items unsafe.Pointer, names unsafe.Pointer) unsafe.Pointer

@function MDItemsCopyAttributes Returns metadata for the given items. @param items A CFArray of MDItemRefs to items for which to fetch data @param names A CFArray of attribute names for which to fetch data. The attribute names are CFStrings @result A CFArrayRef, or NULL on failure. Each entry in the array is either kCFNull, if the item is not accessible, or a CFArray of attribute values. If an attribute is not available, there will be a kCFNull in its slot in the nested array.

func MDItemsCreateWithURLs

func MDItemsCreateWithURLs(allocator unsafe.Pointer, urls unsafe.Pointer) unsafe.Pointer

@function MDItemsCreateWithURLs Returns metadata items for the given urls. @param allocator The CFAllocator which should be used to allocate memory for the array. This parameter may be NULL in which case the current default CFAllocator is used. @param urls A CFArray of urls to the file for which to create the MDItem. @result A CFArrayRef of MDItemRefs, or NULL on failure. Missing items will have kCFNull entries in the result array.

func MDLabelCopyAttribute

func MDLabelCopyAttribute(label unsafe.Pointer, name unsafe.Pointer) unsafe.Pointer

@function MDLabelCopyAttribute @abstract Copy the value of the named attribute of a label. @param label The label. @param name The name of the desired attribute. @result A CFTypeRef, or NULL on failure, or if the attribute does not exist, or if the attribute is not readable.

func MDLabelCopyAttributeName

func MDLabelCopyAttributeName(label unsafe.Pointer) unsafe.Pointer

@function MDLabelCopyAttributeName @abstract Copy the MDItem attribute name of a label. The attribute name can be used in an MDQuery string to search for MDItems that have the label set. The value of the MDItem attribute is a CFDate corresponding to the time the label was set on the item. @param label The label. @result A CFStringRef, or NULL on failure.

func MDLabelCreate

func MDLabelCreate(allocator unsafe.Pointer, displayName unsafe.Pointer, kind unsafe.Pointer, domain accelerate.MDLabelDomain) unsafe.Pointer

@function MDLabelCreate @abstract Returns a label with the specified parameters. If there is already a label that exactly matches the parameters, a reference to the existing label will be returned; otherwise this will attempt to create a new label. A successful creation of a new private label definition will generate a kMDLabelAddedNotification. Note that this function can only create labels with "Private" visibility. Creating "Public" labels requires creating and installing a label bundle. @param allocator The CFAllocator which should be used to allocate memory for the label. This parameter may be NULL in which case the current default CFAllocator is used. Use kCFAllocatorNull to request a reference to an existing label only. @param displayName The label's display name. @param kind The label's kind string. @param domain The domain of the label (normally kMDLabelUserDomain). @result An MDLabelRef, or NULL on failure.

func MDLabelDelete

func MDLabelDelete(label unsafe.Pointer) uint8

@function MDLabelDelete @abstract Deletes the user's definition or override of the specified label from ~/Library/Metadata. Labels defined in bundles elsewhere in the filesystem cannot be deleted using this API. Deleting an override of a label merely makes the original definition of the label visible again and thus will generate a kMDLabelChangedNotification. A successful deletion of a private label definition will generate a kMDLabelRemovedNotification. @param label The label. @result True if a label definition or override was successfully deleted.

func MDLabelGetTypeID

func MDLabelGetTypeID() uint

func MDLabelSetAttributes

func MDLabelSetAttributes(label unsafe.Pointer, attrs unsafe.Pointer) uint8

@function MDLabelSetAttributes @abstract Updates the attributes of the specified label. Labels defined in ~/Library/Metadata are modified directly. Labels defined in bundles elsewhere in the filesystem are overridden by creating a private copy of the label definition in ~/Library/Metadata. The updated attributes are then stored in the private copy. A successful call to MDLabelSetAttributes() will generate a kMDLabelChangedNotification. @param label The label. @param attrs A dictionary containing the attributes to be modified. To remove an attribute, include it in the dictionary with kCFNull as its value. @result True if the label definition or override was successfully updated.

func MDQueryCopyQueryString

func MDQueryCopyQueryString(query unsafe.Pointer) unsafe.Pointer

@function MDQueryCopyQueryString Returns the query string of the query. @param query The query to be interrogated. @result The query string of the query.

func MDQueryCopySortingAttributes

func MDQueryCopySortingAttributes(query unsafe.Pointer) unsafe.Pointer

@function MDQueryCopySortingAttributes Returns the list of attribute names the query is using to sort the results. @param query The query to be interrogated. @result The list of sorting attribute names of the query.

func MDQueryCopyValueListAttributes

func MDQueryCopyValueListAttributes(query unsafe.Pointer) unsafe.Pointer

@function MDQueryCopyValueListAttributes Returns the list of attribute names for which the query is collecting the lists of values. @param query The query to be interrogated. @result The list of value list attribute names of the query.

func MDQueryCopyValuesOfAttribute

func MDQueryCopyValuesOfAttribute(query unsafe.Pointer, name unsafe.Pointer) unsafe.Pointer

@function MDQueryCopyValuesOfAttribute Returns the list of values, from the results of the query, of the named attribute. The list is not ordered in any way. The list contains only one occurrence of each value. Note that this list may change over time, as the query's result list is updated. @param query The query to be interrogated. @param name The attribute name for which to return the values. If the attribute is not one of those requested in the valueListAttrs parameter to one of the query creation functions, the behavior is undefined. @result A CFArray holding the value objects for that attribute.

func MDQueryCreate

func MDQueryCreate(allocator unsafe.Pointer, queryString unsafe.Pointer, valueListAttrs unsafe.Pointer, sortingAttrs unsafe.Pointer) unsafe.Pointer

@function MDQueryCreate Creates a new query with the given query expression. @param allocator The CFAllocator which should be used to allocate memory for the query and its sub-storage. This parameter may be NULL in which case the current default CFAllocator is used. @param queryString The query expression string for this query. The syntax for query expressions is explained above in the header overview documentation. @param valueListAttrs An optional array of attribute names. The query will collect the values of these attributes into uniqued lists, which can be used or displayed to summarize the results of the query, or allow a user to further qualify the items for which they are searching. This parameter may be NULL if no value lists are desired. Value list collection increases CPU usage and significantly increases the memory usage of an MDQuery. The attribute names are CFStrings. @param sortingAttrs An optional array of attribute names. The query will results of the query based on the values of these attributes. The first name in the array is used as the primary sort key, the second as the secondary key, and so on. The comparison of like-typed values is a simple, literal comparison. This parameter may be NULL if no sorting is desired. Sorting increases memory usage and significantly increases the CPU usage of an MDQuery. However, when possible, it is almost always cheaper to have the MDQuery do the sorting, rather than you fetching all the results and attributes from each of them and doing the sorting yourself. The attribute names are CFStrings. @result An MDQueryRef, or NULL on failure. If the query string is empty or malformed (invalid syntax), returns NULL.

func MDQueryCreateForItems

func MDQueryCreateForItems(allocator unsafe.Pointer, queryString unsafe.Pointer, valueListAttrs unsafe.Pointer, sortingAttrs unsafe.Pointer, items unsafe.Pointer) unsafe.Pointer

@function MDQueryCreateForItems Creates a new query with the given query expression. @param allocator The CFAllocator which should be used to allocate memory for the query and its sub-storage. This parameter may be NULL in which case the current default CFAllocator is used. @param queryString The query expression string for this query. The syntax for query expressions is explained above in the header overview documentation. @param valueListAttrs An optional array of attribute names. The query will collect the values of these attributes into uniqued lists, which can be used or displayed to summarize the results of the query, or allow a user to further qualify the items for which they are searching. This parameter may be NULL if no value lists are desired. Value list collection increases CPU usage and significantly increases the memory usage of an MDQuery. The attribute names are CFStrings. @param sortingAttrs An optional array of attribute names. The query will results of the query based on the values of these attributes. The first name in the array is used as the primary sort key, the second as the secondary key, and so on. The comparison of like-typed values is a simple, literal comparison. This parameter may be NULL if no sorting is desired. Sorting increases memory usage and significantly increases the CPU usage of an MDQuery. However, when possible, it is almost always cheaper to have the MDQuery do the sorting, rather than you fetching all the results and attributes from each of them and doing the sorting yourself. The attribute names are CFStrings. @param items An array of items. The query will only return results in this set. @result An MDQueryRef, or NULL on failure. If the query string is empty or malformed (invalid syntax), returns NULL.

func MDQueryCreateSubset

func MDQueryCreateSubset(allocator unsafe.Pointer, query unsafe.Pointer, queryString unsafe.Pointer, valueListAttrs unsafe.Pointer, sortingAttrs unsafe.Pointer) unsafe.Pointer

@function MDQueryCreateSubset Creates a new query, which is a subset of the given query. Only results matched by the given query can be matched by the query expression of this query. @param allocator The CFAllocator which should be used to allocate memory for the query and its sub-storage. This parameter may be NULL in which case the current default CFAllocator is used. @param query The parent query of the new query. @param queryString The query expression string for this query. This expression in effect may further restrict the matches found by the parent query. If the string is empty the behavior is undefined. @param valueListAttrs An optional array of attribute names. The query will collect the values of these attributes into uniqued lists, which can be used or displayed to summarize the results of the query, or allow a user to further qualify the items for which they are searching. This parameter may be NULL if no value lists are desired. Value list collection increases CPU usage and significantly increases the memory usage of an MDQuery. The attribute names are CFStrings. @param sortingAttrs An optional array of attribute names. The query will sort results of the query based on the values of these attributes. The first name in the array is used as the primary sort key, the second as the secondary key, and so on. The comparison of like-typed values is a simple, literal comparison. This parameter may be NULL if no sorting is desired. Sorting increases memory usage and significantly increases the CPU usage of an MDQuery. However, when possible, it is almost always cheaper to have the MDQuery do the sorting, rather than you fetching all the results and attributes from each of them and doing the sorting yourself. The attribute names are CFStrings. @result An MDQueryRef, or NULL on failure. If the query string is empty or malformed (invalid syntax), returns NULL.

func MDQueryDisableUpdates

func MDQueryDisableUpdates(query unsafe.Pointer)

@function MDQueryDisableUpdates Disables updates to the query result list. This should be called before iterating through the list of results to prevent the result list from changing during the iteration. The disabled state is a counter, and disabling can be done recursively and from different threads. @param query The query for which updates are to be disabled. @result The generation number of the query. This changes each time the query's result set has changed.

func MDQueryEnableUpdates

func MDQueryEnableUpdates(query unsafe.Pointer)

@function MDQueryEnableUpdates Re-enables updates to the query result list. This should be called when finished iterating through the list of results, to allow changes to the result list to occur. Changes will be allowed when all the disables have been matched by a corresponding enable. @param query The query for which updates are to be enabled.

func MDQueryExecute

func MDQueryExecute(query unsafe.Pointer, optionFlags uint) uint8

@function MDQueryExecute Run the query, and populate the query with the results. Queries only gather results or process updates while the current thread's run loop is running. Queries normally operate asynchronously, and send out progress and update notifications to report changes to the list of results that has been collected. Queries have two phases: the initial gathering of all currently matching results, and a second live-update phase where queries monitor the state of the system and update themselves to external changes in files or the operating environment (for example, as time advances, files which did not match the query when it was started may later match the query). Query notifications are posted within the context of the same thread which executes the query. [[There are three operational modes: (1) synchronous static queries, which collect the list of current results and then do not watch for updates to the results, (2) asynchronous static queries, which collect the results asychronously after this function returns, and then do not watch for updates to the results, and (3) asynchronous live queries which collect the initial results asychronously after this function returns, and then do watch for updates to the results, until the query is destroyed. There is little reason not to allow the fourth case, synchronous collection of initial results, followed by asynchronous monitoring for updates, so this may change in the future.]] @param query The query to execute. @param optionFlags Bitwise or of MDQueryOptionFlags @result Returns true if the query was started (executed in the case of a synchronous query), false otherwise. Queries cannot be executed more than once.

func MDQueryGetAttributeValueOfResultAtIndex

func MDQueryGetAttributeValueOfResultAtIndex(query unsafe.Pointer, name unsafe.Pointer, idx int) unsafe.Pointer

@function MDQueryGetAttributeValueOfResultAtIndex Returns the value of the named attribute for the result at the given index. @param query The query to be interrogated. @param name The attribute name for which to return the values. If the attribute is not one of those requested in the valueListAttrs or sortingAttrs parameters to one of the query creation functions, the result will be NULL. @param idx The index into the query's result list. If the index is negative, or is equal to or larger than the current number of results in the query, the behavior is undefined. @result The value of the attribute, or NULL if the attribute doesn't exist in the query on that result.

func MDQueryGetCountOfResultsWithAttributeValue

func MDQueryGetCountOfResultsWithAttributeValue(query unsafe.Pointer, name unsafe.Pointer, value unsafe.Pointer) int

@function MDQueryGetCountOfResultsWithAttributeValue Returns the number of results which have the given attribute and attribute value. Note that this count may change over time, as the query's result list is updated. @param query The query to be interrogated. @param name The attribute name for which to return the number of results with the given value. If the attribute is not one of those requested in the valueListAttrs parameter to one of the query creation functions, the behavior is undefined. @param value The attribute value for which to return the number of results with that value. This parameter may be NULL, in which case the number of results that do not contain the named attribute is returned. @result The number of results with that attribute and value.

func MDQueryGetIndexOfResult

func MDQueryGetIndexOfResult(query unsafe.Pointer, result unsafe.Pointer) int

@function MDQueryGetIndexOfResult Returns the current index of the given result. If a result-create function has been set, and the equal callback is non-NULL, it will be used to test the query's results against the candidate result. Note that the index of a result will change over time, as the query's result list is updated. @param query The query to be interrogated. @param result The candidate result object for which to search. If a custom create-result function has been set, and this parameter is not a valid result object that the provided callbacks can handle, the behavior is undefined. If a custom create-result function has not been set, this parameter must be a valid MDItemRef. @result The index of the given result, or kCFNotFound if the value is not one of the query's existing results. If you provided a custom result creation function, as well as a custom object comparator function, result will be objects created by that function.

func MDQueryGetResultAtIndex

func MDQueryGetResultAtIndex(query unsafe.Pointer, idx int) unsafe.Pointer

@function MDQueryGetResultAtIndex Returns the current result at the given index. This function causes the result object to be created if it hasn't been created already. For performance reasons, it is not advisable to ask for results that you don't need, to avoid the cost of creating them. If possible, call this function to fetch only the results you need to display or otherwise process. Note that the index of a particular result will change over time, as the query's result list is updated. @param query The query to be interrogated. @param idx The index into the query's result list. If the index is negative, or is equal to or larger than the current number of results in the query, the behavior is undefined. @result Returns the MDItemRef currently at the given index, or if a result-create function has been set, returns the result returned by that function.

func MDQueryGetResultCount

func MDQueryGetResultCount(query unsafe.Pointer) int

@function MDQueryGetResultCount Returns the number of results currently collected by the query. Note that the number of results in a query will change over time as the query's result list is updated. @param query The query to be interrogated. @result The number of results in the query.

func MDQueryGetSortOptionFlagsForAttribute

func MDQueryGetSortOptionFlagsForAttribute(query unsafe.Pointer, fieldName unsafe.Pointer) uint32

@function MDQueryGetSortOptionFlagsForAttribute Gets the sort option flags for a sorting attribute. @param query The query for which fetch sort option flags. @param fieldName The attribute name for which sort option flags are to be fetched. @result A uint32_t, with MDQuerySortOptionFlags set for the attribute.

func MDQueryGetTypeID

func MDQueryGetTypeID() uint

@function MDQueryGetTypeID Returns the type identifier of all MDQuery instances.

func MDQueryIsGatheringComplete

func MDQueryIsGatheringComplete(query unsafe.Pointer) uint8

@function MDQueryIsGatheringComplete Returns true if the first phase of a query, the initial result gathering, has finished. @param query The query to be interrogated. @result A boolean indicating whether or not the first phase of a query has completed.

func MDQuerySetBatchingParameters

func MDQuerySetBatchingParameters(query unsafe.Pointer, params MDQueryBatchingParams)

@function MDQuerySetBatchingParameters @param query The query whose batching parameters are to be set. @param params An MDQueryBatchingParams structure with the batching parameters to set.

func MDQuerySetCreateResultFunction

func MDQuerySetCreateResultFunction(query unsafe.Pointer, func_ unsafe.Pointer, context_ unsafe.Pointer, cb *corefoundation.CFArrayCallBacks)

@function MDQuerySetCreateResultFunction Sets the function used to create the result objects of the MDQuery. If no create function is set on an MDQuery, the default result objects are MDItemRefs. Results created after a create function is set will be created through the given create function, but values created before the function was set (or after it is unset) are not modified. Therefore it is not advisable to change this function after MDQueryExecute() has been called with the query. The create-result function is called lazily as results are requested from a query, so it will not generally be called on all results, if in fact any. This avoids the cost of creating potentially hundreds of thousands of what might be temporary objects. @param query The query to whose result create function is to be set. @param func The callback function the MDQuery will use to create its results, such as those returned from MDQueryGetResultAtIndex(). This parameter may be NULL, in which case any previous result creation settings are cancelled, and the MDQuery will subsequently produce MDItemRefs. If the function (when the parameter is not NULL) is not of type MDQueryCreateResultFunction or does not behave as a MDQueryCreateResultFunction must, the behavior is undefined. @param context A pointer-sized user-defined value, which is passed as the third parameter to the create function, but is otherwise unused by MDQuery. The MDQuery does not retain the context in any way, so it must remain valid for at least the lifetime of the query. If the context is not what is expected by the create function, the behavior is undefined. @param cb A pointer to a CFArrayCallBacks structure initialized with the callbacks for the query to use to manage the created result objects. A copy of the contents of the callbacks structure is made, so that a pointer to a structure on the stack can be passed in, or can be reused for multiple query creations. Only version 0 of the CFArrayCallBacks is supported. The retain field may be NULL, in which case the MDQuery will do nothing to add a retain to the created results for the query. The release field may be NULL, in which case the MDQuery will do nothing to remove the query's retain (such as the one it gets from the create function) on the result objects when the query is destroyed. If the copyDescription field is NULL, the query will create a simple description for the result objects. If the equal field is NULL, the query will use pointer equality to test for equality of results. This callbacks parameter itself may be NULL, which is treated as if a valid structure of version 0 with all fields NULL had been passed in. Otherwise, if any of the fields are not valid pointers to functions of the correct type, or this parameter is not a valid pointer to a CFArrayCallBacks callbacks structure, the behavior is undefined. If any of the value values returned from the create function is not one understood by one or more of the callback functions, the behavior when those callback functions are used is undefined. For example, if the create function can return NULL, then NULL must be understood by the callback functions as a possible parameter. The retain and release callbacks must be a matched set -- do not assume that the retain function will be unused or that additional reference counts will not be taken on the created results.

func MDQuerySetCreateValueFunction

func MDQuerySetCreateValueFunction(query unsafe.Pointer, func_ unsafe.Pointer, context_ unsafe.Pointer, cb *corefoundation.CFArrayCallBacks)

@function MDQuerySetCreateValueFunction Sets the function used to create the value objects of the MDQuery. These are the values of the value lists that were requested when the query was created. If no create function is set on an MDQuery, the default value objects are the CFTypeRef values of the attributes. Values created after a create function is set will be created through the given create function, but values created before the function was set (or after it is unset) are not modified. Therefore it is not advisable to change this function after MDQueryExecute() has been called with the query. @param query The query to whose value create function is to be set. @param func The callback function the MDQuery will use to create the value list values, such as those returned from MDQueryCopyValuesOfAttribute(). This parameter may be NULL, in which case any previous value creation settings are cancelled, and the MDQuery will subsequently produce the default CFTypeRefs. If the function (when the parameter is not NULL) is not of type MDQueryCreateValueFunction or does not behave as a MDQueryCreateValueFunction must, the behavior is undefined. @param context A pointer-sized user-defined value, which is passed as the fourth parameter to the create function, but is otherwise unused by MDQuery. The MDQuery does not retain the context in any way, so it must remain valid for at least the lifetime of the query. If the context is not what is expected by the create function, the behavior is undefined. @param cb A pointer to a CFArrayCallBacks structure initialized with the callbacks for the query to use to manage the created value objects. A copy of the contents of the callbacks structure is made, so that a pointer to a structure on the stack can be passed in, or can be reused for multiple query creations. Only version 0 of the CFArrayCallBacks is supported. The retain field may be NULL, in which case the MDQuery will do nothing to add a retain to the created values for the query. The release field may be NULL, in which case the MDQuery will do nothing to remove the query's retain (such as the one it gets from the create function) on the value objects when the query is destroyed. If the copyDescription field is NULL, the query will create a simple description for the value objects. If the equal field is NULL, the query will use pointer equality to test for equality of values. This callbacks parameter itself may be NULL, which is treated as if a valid structure of version 0 with all fields NULL had been passed in. Otherwise, if any of the fields are not valid pointers to functions of the correct type, or this parameter is not a valid pointer to a CFArrayCallBacks callbacks structure, the behavior is undefined. If any of the value values returned from the create function is not one understood by one or more of the callback functions, the behavior when those callback functions are used is undefined. For example, if the create function can return NULL, then NULL must be understood by the callback functions as a possible parameter. The retain and release callbacks must be a matched set -- do not assume that the retain function will be unused or that additional reference counts will not be taken on the created values.

func MDQuerySetDispatchQueue

func MDQuerySetDispatchQueue(query unsafe.Pointer, queue *foundation.NSObject)

func MDQuerySetMaxCount

func MDQuerySetMaxCount(query unsafe.Pointer, size int)

@function MDQuerySetMaxCount @discussion Use MDQuerySetMaxCount to limit the number of results returned by the query engine. This must be called before the query is executed. @param query The query object to modify. @param size The maximum number of results desired.

func MDQuerySetSearchScope

func MDQuerySetSearchScope(query unsafe.Pointer, scopeDirectories unsafe.Pointer, scopeOptions uint)

func MDQuerySetSortComparator

func MDQuerySetSortComparator(query unsafe.Pointer, comparator unsafe.Pointer, context_ unsafe.Pointer)

@function MDQuerySetSortComparator Sets the function used to sort the results of an MDQuery. You may set the comparator function as many times as you like, even while the query is executing. Whenever the comparator function is set, all results are re-sorted using the new comparator function before the function returns. The function pointer can be NULL to cancel custom sorting and revert to the default sorting. The default sort provided by MDQueryCreate() is a assending sort strings are compared using CFStringCompare() with the options kCFCompareNonliteral | kCFCompareLocalized | kCFCompareNumerically. CFDataRefs are compared by using memcmp() of the data pointers. @param query The query to whose result sort function is to be set. @param func The callback function the MDQuery will use to sort its results. If the function (when the parameter is not NULL) is not of type MDQuerySortComparatorFunction or does not behave as a MDQuerySortComparatorFunction must, the behavior is undefined. The function pointer may be NULL to cancel any custom comparator. @param context A pointer-sized user-defined value, which is passed as the third parameter to the sort function, but is otherwise unused by MDQuery. The MDQuery does not retain the context in any way, so it must remain valid for the lifetime of the query or until the sort function is set again. If the context is not what is expected by the comparator, the behavior is undefined.

func MDQuerySetSortComparatorBlock

func MDQuerySetSortComparatorBlock(query unsafe.Pointer, comparator func(unsafe.Pointer, unsafe.Pointer) corefoundation.CFComparisonResult)

func MDQuerySetSortOptionFlagsForAttribute

func MDQuerySetSortOptionFlagsForAttribute(query unsafe.Pointer, fieldName unsafe.Pointer, flags uint32) uint8

@function MDQuerySetSortOptionFlagsForAttribute Sets the sort flags for a query. @param query The query for which the sort flags is to be set. @param fieldName The attribute name for which sort option flags are to be set. The attribute name must have been part of the sortingFlags when the query was created. @param flags A uint32_t containing MDQuerySortOptionFlags to be applied to the attibute @result A boolean, true on success, false on failure.

func MDQuerySetSortOrder

func MDQuerySetSortOrder(query unsafe.Pointer, sortingAttrs unsafe.Pointer) uint8

@function MDQuerySetSortOrder Sets the sort order for a query. @param query The query for which the sort order is to be set. @param sortingAttrs An array of attribute names, as in MDQueryCreate. The query's result set will be sorted according to the order of these attributes. All names in the array have to have been passed as sortingAttrs when the query was created. The attribute names are CFStrings @result A boolean, true on success, false on failure.

func MDQueryStop

func MDQueryStop(query unsafe.Pointer)

@function MDQueryStop Stops the query from ever generating more results. Queries may be executed only once, so a stopped query cannot be restarted. The query will also not generate any result updates. The query is static after this function returns. The query will do final processing of results that have come in but not yet been processed (because, say, the batching parameters hasn't triggered that yet). That may trigger a progress notification, so be aware of that if you are stopping a query from within your progress note handler; that is, during this function, a recursive progress and/or finished notification might occur, which might recursively call your notification handler. It is safe to call this function recursively. You would call this function to stop a query that is generating way too many results to be useful, but still want to access the results that have come in so far. If a query is stopped before the gathering phase finishes, it will not report itself as finished, nor will it send out a finished notification. @param query The query to stop.

func MDSchemaCopyAllAttributes

func MDSchemaCopyAllAttributes() unsafe.Pointer

@function MDSchemaCopyAllAttributes Returns an array of all of the attributes defined in the schema @result A CFArray of the attribute names.

func MDSchemaCopyAttributesForContentType

func MDSchemaCopyAttributesForContentType(contentTypeUTI unsafe.Pointer) unsafe.Pointer

@function MDSchemaCopyAttributesForContentType Returns an dictionary attributes to display or show the user for a given UTI type. This function does not walk up the UTI hiearchy and perform a union of the information. @param utiType the UTI type to be interrogated. @result A CFDictionaryRef with keys == to kMDAttributeDisplayValues etc..

func MDSchemaCopyDisplayDescriptionForAttribute

func MDSchemaCopyDisplayDescriptionForAttribute(name unsafe.Pointer) unsafe.Pointer

@function MDSchemaCopyDisplayDescriptionForAttribute Returns the localized description of an attribute. @param name the attribute whose localization you are interested in @result the localized description of the passed in attribute, or NULL if there is no localized description is avaliable.

func MDSchemaCopyDisplayNameForAttribute

func MDSchemaCopyDisplayNameForAttribute(name unsafe.Pointer) unsafe.Pointer

@function MDSchemaCopyDisplayNameForAttribute Returns the localized name of an attribute @param name the attribute whose localization you are interested in @result the localized name of the passed in attribute, or NULL if there is no localized name is avaliable.

func MDSchemaCopyMetaAttributesForAttribute

func MDSchemaCopyMetaAttributesForAttribute(name unsafe.Pointer) unsafe.Pointer

@function MDSchemaCopyMetaAttributesForAttribute Returns an dictionary of the meta attributes of attribute @param name the attribute whose schema you are interested in. @result A CFDictionary of the description of the attribute.

func SymbolAvailable

func SymbolAvailable(symbol string) bool

SymbolAvailable reports whether the named C symbol was bound when the library loaded. Calling a generated wrapper whose symbol is unavailable dereferences a nil function variable and panics.

Types

type Acl_entry_id_t

type Acl_entry_id_t int64
const (
	ACL_FIRST_ENTRY Acl_entry_id_t = 0
	ACL_NEXT_ENTRY  Acl_entry_id_t = -1
	ACL_LAST_ENTRY  Acl_entry_id_t = -2
)

func (Acl_entry_id_t) String

func (e Acl_entry_id_t) String() string

type Acl_flag_t

type Acl_flag_t int64
const (
	ACL_FLAG_DEFER_INHERIT      Acl_flag_t = 1
	ACL_FLAG_NO_INHERIT         Acl_flag_t = 131072
	ACL_ENTRY_INHERITED         Acl_flag_t = 16
	ACL_ENTRY_FILE_INHERIT      Acl_flag_t = 32
	ACL_ENTRY_DIRECTORY_INHERIT Acl_flag_t = 64
	ACL_ENTRY_LIMIT_INHERIT     Acl_flag_t = 128
	ACL_ENTRY_ONLY_INHERIT      Acl_flag_t = 256
)

func (Acl_flag_t) String

func (e Acl_flag_t) String() string

type Acl_perm_t

type Acl_perm_t int64
const (
	ACL_READ_DATA           Acl_perm_t = 2
	ACL_LIST_DIRECTORY      Acl_perm_t = 2
	ACL_WRITE_DATA          Acl_perm_t = 4
	ACL_ADD_FILE            Acl_perm_t = 4
	ACL_EXECUTE             Acl_perm_t = 8
	ACL_SEARCH              Acl_perm_t = 8
	ACL_DELETE              Acl_perm_t = 16
	ACL_APPEND_DATA         Acl_perm_t = 32
	ACL_ADD_SUBDIRECTORY    Acl_perm_t = 32
	ACL_DELETE_CHILD        Acl_perm_t = 64
	ACL_READ_ATTRIBUTES     Acl_perm_t = 128
	ACL_WRITE_ATTRIBUTES    Acl_perm_t = 256
	ACL_READ_EXTATTRIBUTES  Acl_perm_t = 512
	ACL_WRITE_EXTATTRIBUTES Acl_perm_t = 1024
	ACL_READ_SECURITY       Acl_perm_t = 2048
	ACL_WRITE_SECURITY      Acl_perm_t = 4096
	ACL_CHANGE_OWNER        Acl_perm_t = 8192
	ACL_SYNCHRONIZE         Acl_perm_t = 1048576
)

func (Acl_perm_t) String

func (e Acl_perm_t) String() string

type Acl_tag_t

type Acl_tag_t int64
const (
	ACL_UNDEFINED_TAG  Acl_tag_t = 0
	ACL_EXTENDED_ALLOW Acl_tag_t = 1
	ACL_EXTENDED_DENY  Acl_tag_t = 2
)

func (Acl_tag_t) String

func (e Acl_tag_t) String() string

type Acl_type_t

type Acl_type_t int64
const (
	ACL_TYPE_EXTENDED Acl_type_t = 256
	ACL_TYPE_ACCESS   Acl_type_t = 0
	ACL_TYPE_DEFAULT  Acl_type_t = 1
	ACL_TYPE_AFS      Acl_type_t = 2
	ACL_TYPE_CODA     Acl_type_t = 3
	ACL_TYPE_NTFS     Acl_type_t = 4
	ACL_TYPE_NWFS     Acl_type_t = 5
)

func (Acl_type_t) String

func (e Acl_type_t) String() string

type Clockid_t

type Clockid_t int64

func (Clockid_t) String

func (e Clockid_t) String() string

type Dispatch_autorelease_frequency_t

type Dispatch_autorelease_frequency_t uint64
const (
	DISPATCH_AUTORELEASE_FREQUENCY_INHERIT   Dispatch_autorelease_frequency_t = 0
	DISPATCH_AUTORELEASE_FREQUENCY_WORK_ITEM Dispatch_autorelease_frequency_t = 1
	DISPATCH_AUTORELEASE_FREQUENCY_NEVER     Dispatch_autorelease_frequency_t = 2
)

func (Dispatch_autorelease_frequency_t) String

type Dispatch_block_flags_t

type Dispatch_block_flags_t uint64
const (
	DISPATCH_BLOCK_BARRIER           Dispatch_block_flags_t = 1
	DISPATCH_BLOCK_DETACHED          Dispatch_block_flags_t = 2
	DISPATCH_BLOCK_ASSIGN_CURRENT    Dispatch_block_flags_t = 4
	DISPATCH_BLOCK_NO_QOS_CLASS      Dispatch_block_flags_t = 8
	DISPATCH_BLOCK_INHERIT_QOS_CLASS Dispatch_block_flags_t = 16
	DISPATCH_BLOCK_ENFORCE_QOS_CLASS Dispatch_block_flags_t = 32
)

func (Dispatch_block_flags_t) String

func (e Dispatch_block_flags_t) String() string

type Filesec_property_t

type Filesec_property_t int64
const (
	FILESEC_OWNER         Filesec_property_t = 1
	FILESEC_GROUP         Filesec_property_t = 2
	FILESEC_UUID          Filesec_property_t = 3
	FILESEC_MODE          Filesec_property_t = 4
	FILESEC_ACL           Filesec_property_t = 5
	FILESEC_GRPUUID       Filesec_property_t = 6
	FILESEC_ACL_RAW       Filesec_property_t = 100
	FILESEC_ACL_ALLOCSIZE Filesec_property_t = 101
)

func (Filesec_property_t) String

func (e Filesec_property_t) String() string

type Idtype_t

type Idtype_t int64
const (
	P_ALL  Idtype_t = 0
	P_PID  Idtype_t = 1
	P_PGID Idtype_t = 2
)

func (Idtype_t) String

func (e Idtype_t) String() string

type MDItem

type MDItem struct{}

@typedef MDItemRef This is the type of a reference to MDItems. C struct: __MDItem MDItem is an opaque type.

type MDLabel

type MDLabel struct{}

@typedef MDLabelRef @abstract This is the type of a reference to an MDLabel. C struct: __MDLabel MDLabel is an opaque type.

type MDLabelDomain

type MDLabelDomain int64

@typedef MDLabelDomain @abstract These constants are used to specify a domain to MDLabelCreate().

const (
	KMDLabelUserDomain  MDLabelDomain = 0
	KMDLabelLocalDomain MDLabelDomain = 1
)

func (MDLabelDomain) String

func (e MDLabelDomain) String() string

type MDQuery

type MDQuery struct{}

@typedef MDQueryRef This is the type of a reference to MDQuerys. C struct: __MDQuery MDQuery is an opaque type.

type MDQueryBatchingParams

type MDQueryBatchingParams struct {
	First_max_num    uint
	First_max_ms     uint
	Progress_max_num uint
	Progress_max_ms  uint
	Update_max_num   uint
	Update_max_ms    uint
}

@typedef MDQueryBatchingParams Structure containing the progress notification batching parameters of an MDQuery. The first notification can be triggered by the either first_max_num or first_max_ms limit being exceeded. Subsequent notifications are triggered by either the progress_max_num or progress_max_ms limit. The default batching parameters are undefined and subject to change. @field first_max_num The maximum number of results that can accumulate before a progress notification is sent out by the MDQuery, for the first notification. @field first_max_ms The maximum number of milliseconds that can pass before a progress notification is sent out. This value is advisory, in that the notification will be triggered "at some point after first_max_ms milliseconds have passed since the query began accumulating results", but generally not very long after, for the first progress notification. @field progress_max_num The maximum number of results that can accumulate before a progress notification is sent out by the MDQuery, for notifications after the first, during the initial gathering phase of the query. @field progress_max_ms The maximum number of milliseconds that can pass before a progress notification is sent out. This value is advisory, in that the notification will be triggered "at some point after first_max_ms milliseconds have passed since the query began accumulating results", but generally not very long after, for progress notifications after the first, during the initial gathering phase of the query. @field update_max_num The maximum number of results that can accumulate before an update notification is sent out by the MDQuery, for notifications after the gathering phase of the query has finished. @field update_max_ms The maximum number of milliseconds that can pass before a progress notification is sent out. This value is advisory, in that the notification will be triggered "at some point after first_max_ms milliseconds have passed since the query began accumulating results", but generally not very long after, for update notifications after the gathering phase of the query has finished.

func MDQueryGetBatchingParameters

func MDQueryGetBatchingParameters(query unsafe.Pointer) MDQueryBatchingParams

@function MDQueryGetBatchingParameters Returns the current parameters that control batching of progress notifications. @param query The query to be interrogated. @result An MDQueryBatchingParams structure with the current batching parameters.

type MDQueryOptionFlags

type MDQueryOptionFlags int64
const (
	KMDQuerySynchronous        MDQueryOptionFlags = 1
	KMDQueryWantsUpdates       MDQueryOptionFlags = 4
	KMDQueryAllowFSTranslation MDQueryOptionFlags = 8
)

func (MDQueryOptionFlags) String

func (e MDQueryOptionFlags) String() string

type MDQuerySortOptionFlags

type MDQuerySortOptionFlags int64

@enum MDQuerySortOptionFlags @constant kMDQueryReverseSortOrderFlag Sort the attribute in reverse order.

const (
	KMDQueryReverseSortOrderFlag MDQuerySortOptionFlags = 1
)

func (MDQuerySortOptionFlags) String

func (e MDQuerySortOptionFlags) String() string

type Mpo_flags_t

type Mpo_flags_t int64
const (
	MPO_PORT                            Mpo_flags_t = 0
	MPO_SERVICE_PORT                    Mpo_flags_t = 1024
	MPO_CONNECTION_PORT                 Mpo_flags_t = 2048
	MPO_REPLY_PORT                      Mpo_flags_t = 4096
	MPO_WEAK_REPLY_PORT                 Mpo_flags_t = 16384
	MPO_NOTIFICATION_PORT               Mpo_flags_t = 17408
	MPO_EXCEPTION_PORT                  Mpo_flags_t = 32768
	MPO_CONNECTION_PORT_WITH_PORT_ARRAY Mpo_flags_t = 65536
)

func (Mpo_flags_t) String

func (e Mpo_flags_t) String() string

type Os_clockid_t

type Os_clockid_t int64
const (
	OS_CLOCK_MACH_ABSOLUTE_TIME Os_clockid_t = 32
)

func (Os_clockid_t) String

func (e Os_clockid_t) String() string

type Ptrauth_key

type Ptrauth_key int64
const (
	Ptrauth_key_none                     Ptrauth_key = -1
	Ptrauth_key_asia                     Ptrauth_key = 0
	Ptrauth_key_asib                     Ptrauth_key = 1
	Ptrauth_key_asda                     Ptrauth_key = 2
	Ptrauth_key_asdb                     Ptrauth_key = 3
	Ptrauth_key_process_independent_code Ptrauth_key = 0
	Ptrauth_key_process_dependent_code   Ptrauth_key = 1
	Ptrauth_key_process_independent_data Ptrauth_key = 2
	Ptrauth_key_process_dependent_data   Ptrauth_key = 3
	Ptrauth_key_return_address           Ptrauth_key = 1
	Ptrauth_key_frame_pointer            Ptrauth_key = 3
	Ptrauth_key_function_pointer         Ptrauth_key = 0
	Ptrauth_key_block_function           Ptrauth_key = 0
	Ptrauth_key_cxx_vtable_pointer       Ptrauth_key = 2
	Ptrauth_key_method_list_pointer      Ptrauth_key = 2
	Ptrauth_key_objc_isa_pointer         Ptrauth_key = 2
	Ptrauth_key_objc_super_pointer       Ptrauth_key = 2
	Ptrauth_key_objc_sel_pointer         Ptrauth_key = 3
	Ptrauth_key_objc_class_ro_pointer    Ptrauth_key = 2
	Ptrauth_key_block_descriptor_pointer Ptrauth_key = 2
	Ptrauth_key_init_fini_pointer        Ptrauth_key = 0
)

func (Ptrauth_key) String

func (e Ptrauth_key) String() string

type Qos_class_t

type Qos_class_t uint32
const (
	QOS_CLASS_USER_INTERACTIVE Qos_class_t = 33
	QOS_CLASS_USER_INITIATED   Qos_class_t = 25
	QOS_CLASS_DEFAULT          Qos_class_t = 21
	QOS_CLASS_UTILITY          Qos_class_t = 17
	QOS_CLASS_BACKGROUND       Qos_class_t = 9
	QOS_CLASS_UNSPECIFIED      Qos_class_t = 0
)

func (Qos_class_t) String

func (e Qos_class_t) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL