Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка класса DRTrackDataProduction

Опции
Развертывание Target:

На этой странице
Язык:

DRTrackDataProduction

Неофициальный протокол, описывающий методы, реализован производителем данных дорожки.

Неофициальный протокол DRTrackDataProduction определяет те методы, которые может реализовать экземпляр производителя данных дорожки. Производитель данных дорожки является объектом, который является resposible для того, чтобы предоставить данные дорожки механизму записи по запросу.

В понятии производитель данных дорожки, подобный источнику данных NSTable в Какао. Каждый метод производителя получает указатель на дорожку, для которой он должен произвести данные. Существует один метод, который должен быть реализован - produceDataForTrack:intoBuffer:length:atAddress:blockSize:ioFlags:.

Методы этого протокола будут призваны примерно этот порядок:

  1. prepareTrackForBurn:

  2. producePreGapForTrack:intoBuffer:length:atAddress:blockSize:ioFlags:

  3. produceDataForTrack:intoBuffer:length:atAddress:blockSize:ioFlags:

  4. prepareTrackForVerification:

  5. verifyDataForTrack:inBuffer:length:atAddress:blockSize:ioFlags:

  6. cleanupTrackAfterVerification:

  7. cleanupTrackAfterBurn:

Если проверку диска не требуют, или дорожка опускает или определяет DRVerificationTypeKey, чтобы быть DRVerificationTypeNone, то prepareTrackForVerification: verifyDataForTrack:inBuffer:length:atAddress:blockSize:ioFlags: и cleanupTrackAfterVerification: не будет вызван.

Во время записи, produceDataForTrack:intoBuffer:length:atAddress:blockSize:ioFlags: вызывается очень часто в потоке в реальном времени. Из-за этого это имеет наибольшее значение, что этот очень эффективный метод и не выполняет длинной задачи, так как путем выполнения так, запись может перестать работать, потому что данные не доступны для записи в диск.

Наследование


Не применимый

Соответствует


Не применимый

Оператор импорта


Swift

import DiscRecording

Objective C

@import DiscRecording;

Доступность


Доступный в OS X v10.2 и позже.
  • Очищает дорожку после того, как завершится запись. (требуемый)

    Объявление

    Swift

    func cleanupTrackAfterBurn(_ track: DRTrack!)

    Objective C

    - (void)cleanupTrackAfterBurn:(DRTrack *)track

    Параметры

    track

    Записываемый отслеживаемый объект

    Возвращаемое значение

    YES, чтобы указать, что запись должна продолжиться и НЕ указать отказ, произошел.

    Обсуждение

    Вызванный после того, как запись завершена. Обычно Вы очистите то, что было установкой в prepareTrackForBurn. Так как этот метод вызывают после того, как лазер выключен, и запись закончена, этот метод может выполнить трудоемкие задачи.

    Оператор импорта

    Objective C

    @import DiscRecording;

    Swift

    import DiscRecording

    Доступность

    Доступный в OS X v10.2 и позже.

  • Очищает дорожку после того, как завершится проверка. (требуемый)

    Объявление

    Swift

    func cleanupTrackAfterVerification(_ track: DRTrack!) -> Bool

    Objective C

    - (BOOL)cleanupTrackAfterVerification:(DRTrack *)track

    Параметры

    track

    Записываемый отслеживаемый объект

    Возвращаемое значение

    Возвратите YES, чтобы указать успех, НЕТ указать отказ.

    Обсуждение

    Как только фаза проверки завершена, этот метод вызывают. Класс, реализовывая метод имеет возможность сделать что-либо до и включая сбой проверки.

    Оператор импорта

    Objective C

    @import DiscRecording;

    Swift

    import DiscRecording

    Доступность

    Доступный в OS X v10.2 и позже.

  • Оценивает, что записывается размер дорожки. (требуемый)

    Объявление

    Swift

    func estimateLengthOfTrack(_ track: DRTrack!) -> UInt64

    Objective C

    - (uint64_t)estimateLengthOfTrack:(DRTrack *)track

    Параметры

    track

    Отслеживаемый объект, для которого можно оценить размер

    Возвращаемое значение

    Число блоков данных, которые займет дорожка. Оценка должна быть довольно точной, и не меньшей, чем фактический размер, который будет необходим.

    Обсуждение

    Это сообщение отправляется за пределами цикла записи в ответ на сообщение-estimateLength, отправленное в дорожку.

    Оператор импорта

    Objective C

    @import DiscRecording;

    Swift

    import DiscRecording

    Доступность

    Доступный в OS X v10.3 и позже.

  • Подготавливает дорожку к записи. (требуемый)

    Объявление

    Swift

    func prepareTrack(_ track: DRTrack!, forBurn burn: DRBurn!, toMedia mediaInfo: [NSObject : AnyObject]!) -> Bool

    Objective C

    - (BOOL)prepareTrack:(DRTrack *)track forBurn:(DRBurn *)burn toMedia:(NSDictionary *)mediaInfo

    Параметры

    track

    Записываемый отслеживаемый объект

    burn

    Объект записи управление записью

    mediaInfo

    Носители, записываемые к. Это - тот же словарь, как возвращено - [Состояние DRDevice].

    Возвращаемое значение

    YES, чтобы указать, что запись должна продолжиться и НЕ указать отказ, произошел.

    Обсуждение

    Вызванный, прежде чем любая запись запускается. Сделайте любой вид установки, которая должна быть выполнена (такие как вводные файлы). Этот метод может вычислить и обновить точную длину дорожки, которая будет записана.

    Так как этот метод вызывают, прежде чем лазер включен, этот метод может выполнить трудоемкие задачи.

    Оператор импорта

    Objective C

    @import DiscRecording;

    Swift

    import DiscRecording

    Доступность

    Доступный в OS X v10.2 и позже.

  • Подготовьте дорожку, которая будет проверена. (требуемый)

    Объявление

    Swift

    func prepareTrackForVerification(_ track: DRTrack!) -> Bool

    Objective C

    - (BOOL)prepareTrackForVerification:(DRTrack *)track

    Параметры

    track

    Записываемый отслеживаемый объект

    Возвращаемое значение

    YES, чтобы указать, что проверка должна продолжиться и НЕ указать отказ, произошел.

    Обсуждение

    Этот метод вызывают после записи complets запись данных к диску и перед началами фазы проверки. Теперь было бы хорошее время, чтобы подготовить производить данные снова путем перемотки к запуску файлов, и т.д.

    Оператор импорта

    Objective C

    @import DiscRecording;

    Swift

    import DiscRecording

    Доступность

    Доступный в OS X v10.2 и позже.

  • Производит данные дорожки. (требуемый)

    Объявление

    Swift

    func produceDataForTrack(_ track: DRTrack!, intoBuffer buffer: UnsafeMutablePointer<Int8>, length bufferLength: UInt32, atAddress address: UInt64, blockSize blockSize: UInt32, ioFlags flags: UnsafeMutablePointer<UInt32>) -> UInt32

    Objective C

    - (uint32_t)produceDataForTrack:(DRTrack *)track intoBuffer:(char *)buffer length:(uint32_t)bufferLength atAddress:(uint64_t)address blockSize:(uint32_t)blockSize ioFlags:(uint32_t *)flags

    Параметры

    track

    Записываемый отслеживаемый объект

    buffer

    Буфер для размещения данных в

    bufferLength

    Длина буфера

    address

    Адрес на диске того, где будут записаны данные

    blockSize

    размер каждого блока на диске. Лучше возвращать кратное число этого размера.

    flags

    флаги

    Возвращаемое значение

    Число байтов производится.

    Обсуждение

    Этот метод вызывают много раз в течение записи для получения данных для дорожки. Буфер передал в, будет кратное число blockSize (bufferLength == blockSize * N, где N> 1) и должен быть заполнен максимально полный данных. адрес является адресом сектора на диске от запуска дорожки, которая является буфером, будет записан в.

    С тех пор при записи, хранении буфера диска полным имеет наибольшее значение, Вы не должны выполнять длинные операции или блок для данных в этом методе. Этот метод должен возвратить число байтов фактически в буфере или 0, чтобы указать, что была ошибка при создании данных..

    Оператор импорта

    Objective C

    @import DiscRecording;

    Swift

    import DiscRecording

    Доступность

    Доступный в OS X v10.2 и позже.

  • Производит данные перед разрывом. (требуемый)

    Объявление

    Swift

    func producePreGapForTrack(_ track: DRTrack!, intoBuffer buffer: UnsafeMutablePointer<Int8>, length bufferLength: UInt32, atAddress address: UInt64, blockSize blockSize: UInt32, ioFlags flags: UnsafeMutablePointer<UInt32>) -> UInt32

    Objective C

    - (uint32_t)producePreGapForTrack:(DRTrack *)track intoBuffer:(char *)buffer length:(uint32_t)bufferLength atAddress:(uint64_t)address blockSize:(uint32_t)blockSize ioFlags:(uint32_t *)flags

    Параметры

    track

    Записываемый отслеживаемый объект

    buffer

    Буфер для размещения данных в

    bufferLength

    Длина буфера

    address

    Адрес на диске того, где будут записаны данные

    blockSize

    размер каждого блока на диске. Лучше возвращать кратное число этого размера.

    flags

    флаги

    Возвращаемое значение

    Число байтов производится.

    Обсуждение

    Этот метод вызывают для получения данных для предварительного разрыва дорожки. Если ключ DRPreGapLengthKey будет присутствовать в свойствах дорожки, то производителя дорожки попросят данных перед разрывом сначала. Если производитель реализует этот селектор, то это - ответственность производителя предоставить данные для предварительного разрыва, иначе та продолжительность тишины будет произведена DiscRecording.

    Буфер передал в, будет кратное число blockSize (bufferLength == blockSize * N, где N> 1) и должен быть заполнен максимально полный данных. адрес является адресом сектора на диске от запуска дорожки, которая является буфером, будет записан в.

    С тех пор при записи, хранении буфера диска полным имеет наибольшее значение, Вы не должны выполнять длинные операции или блок для данных в этом методе. Этот метод должен возвратить число байтов фактически в буфере или 0, чтобы указать, что была ошибка при создании данных..

    Оператор импорта

    Objective C

    @import DiscRecording;

    Swift

    import DiscRecording

    Доступность

    Доступный в OS X v10.3 и позже.

  • Очищает дорожку после того, как завершится запись. (требуемый)

    Объявление

    Swift

    func verifyDataForTrack(_ track: DRTrack!, inBuffer buffer: UnsafePointer<Int8>, length bufferLength: UInt32, atAddress address: UInt64, blockSize blockSize: UInt32, ioFlags flags: UnsafeMutablePointer<UInt32>) -> Bool

    Objective C

    - (BOOL)verifyDataForTrack:(DRTrack *)track inBuffer:(const char *)buffer length:(uint32_t)bufferLength atAddress:(uint64_t)address blockSize:(uint32_t)blockSize ioFlags:(uint32_t *)flags

    Параметры

    track

    Записываемый отслеживаемый объект

    buffer

    Чтение данных в от дорожки для сравнения

    bufferLength

    Длина буфера

    address

    Адрес на диске того, где желание данных было считано из.

    blockSize

    размер каждого блока на диске. Лучше возвращать кратное число этого размера.

    flags

    флаги

    Возвращаемое значение

    YES, чтобы указать, что произошли данные, сравненные успешно и НЕ указать отказ.

    Обсуждение

    Если класс, реализовывая этот метод попросит тип проверки DRVerificationTypeReceiveData, то серия вызовов к этому методу запустится. Это до класса для репродуцирования данных снова, и выдерживать сравнение это с данными передало в буфере. Буфер передал в, будет кратное число blockSize (bufferLength == blockSize * N, где N> 1). адрес является адресом сектора на диске от запуска дорожки, которая является буфером, был записан в.

    Оператор импорта

    Objective C

    @import DiscRecording;

    Swift

    import DiscRecording

    Доступность

    Доступный в OS X v10.2 и позже.

  • Проверяет предварительный разрыв дорожки целостности после записи. (требуемый)

    Объявление

    Swift

    func verifyPreGapForTrack(_ track: DRTrack!, inBuffer buffer: UnsafePointer<Int8>, length bufferLength: UInt32, atAddress address: UInt64, blockSize blockSize: UInt32, ioFlags flags: UnsafeMutablePointer<UInt32>) -> Bool

    Objective C

    - (BOOL)verifyPreGapForTrack:(DRTrack *)track inBuffer:(const char *)buffer length:(uint32_t)bufferLength atAddress:(uint64_t)address blockSize:(uint32_t)blockSize ioFlags:(uint32_t *)flags

    Параметры

    track

    Записываемый отслеживаемый объект

    buffer

    Чтение данных в от дорожки для сравнения

    bufferLength

    Длина буфера

    address

    Адрес на диске того, где желание данных было считано из.

    blockSize

    размер каждого блока на диске. Лучше возвращать кратное число этого размера.

    flags

    флаги

    Возвращаемое значение

    YES, чтобы указать, что произошли данные, сравненные успешно и НЕ указать отказ.

    Обсуждение

    Если класс, реализовывая этот метод попросит тип проверки DRVerificationTypeReceiveData, то серия вызовов к этому методу запустится. Это до класса для репродуцирования предварительного разрыва снова, и выдерживать сравнение это с данными передало в буфере. Буфер передал в, будет кратное число blockSize (bufferLength == blockSize * N, где N> 1). адрес является адресом сектора на диске от запуска дорожки, которая является буфером, был записан в.

    Оператор импорта

    Objective C

    @import DiscRecording;

    Swift

    import DiscRecording

    Доступность

    Доступный в OS X v10.4 и позже.