Ссылка CFMachPort
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Swift
import CoreFoundation
Objective C
@import CoreFoundation;
Объект CFMachPort является оберткой для порта собственного компонента Маха (mach_port_t). Порты Маха являются собственным каналом передачи для ядра OS X.
CFMachPort не обеспечивает функцию для отправки сообщений, таким образом, Вы прежде всего используете объект CFMachPort, если необходимо слушать порт Маха, который Вы получили другими средними значениями. Можно получить обратный вызов, когда сообщение поступает в порт или когда порт становится недопустимым, такой как тогда, когда умирает собственный порт.
Для прислушиваний к сообщениям, необходимо создать источник цикла выполнения с CFMachPortCreateRunLoopSource и добавьте его к циклу выполнения с CFRunLoopAddSource.
Для отправки данных необходимо использовать Маха APIs с портом собственного компонента Маха, не описанным здесь. Также можно использовать Ссылочный объект CFMessagePort, который может отправить произвольные данные.
Порты Маха только поддерживают коммуникацию на локальной машине. Для сетевой связи необходимо использовать Ссылочный объект CFSocket.
-
Создает объект CFMachPort с новым портом Маха.
Объявление
Swift
func CFMachPortCreate(_allocator: CFAllocator!, _callout: CFMachPortCallBack, _context: UnsafeMutablePointer<CFMachPortContext>, _shouldFreeInfo: UnsafeMutablePointer<Boolean>) -> CFMachPort!Objective C
CFMachPortRef CFMachPortCreate ( CFAllocatorRef allocator, CFMachPortCallBack callout, CFMachPortContext *context, Boolean *shouldFreeInfo );Параметры
allocatorСредство выделения для использования для выделения памяти для нового объекта. Передача
NULLилиkCFAllocatorDefaultиспользовать текущее средство выделения по умолчанию.calloutКогда сообщение получено на новом порту Маха, функция обратного вызова вызвала.
contextСтруктура, содержащая контекстную информацию для нового порта Маха. Функция копирует информацию из структуры, таким образом, память, которой указывают
contextне должен сохраняться вне вызова функции.shouldFreeInfoФлаг, установленный функцией указать, ли
infoэлементcontextдолжен быть освобожден. Флаг установлен вtrueпри отказе,falseиначе.shouldFreeInfoможет бытьNULL.Возвращаемое значение
Новые CFMachPort возражают или
NULLпри отказе. Объект CFMachPort имеет, и отправьте и получите права. Владение соблюдает Создать Правило.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Создает объект CFMachPort для существующего ранее порта собственного компонента Маха.
Объявление
Swift
func CFMachPortCreateWithPort(_allocator: CFAllocator!, _portNum: mach_port_t, _callout: CFMachPortCallBack, _context: UnsafeMutablePointer<CFMachPortContext>, _shouldFreeInfo: UnsafeMutablePointer<Boolean>) -> CFMachPort!Objective C
CFMachPortRef CFMachPortCreateWithPort ( CFAllocatorRef allocator, mach_port_t portNum, CFMachPortCallBack callout, CFMachPortContext *context, Boolean *shouldFreeInfo );Параметры
allocatorСредство выделения для использования для выделения памяти для нового объекта. Передача
NULLилиkCFAllocatorDefaultиспользовать текущее средство выделения по умолчанию.portNumПорт собственного компонента Маха для использования.
calloutКогда сообщение получено на порту Маха, функция обратного вызова вызвала.
contextСтруктура, содержащая контекстную информацию для порта Маха. Функция копирует информацию из структуры, таким образом, память, которой указывают
contextне должен сохраняться вне вызова функции.shouldFreeInfoФлаг, установленный функцией указать, ли
infoэлементcontextдолжен быть освобожден. Флаг установлен вtrueпри отказе или если объект CFMachPort уже существует дляportNum,falseиначе.shouldFreeInfoможет бытьNULL.Возвращаемое значение
Новые CFMachPort возражают или
NULLпри отказе. Если объект CFMachPort уже существует дляportNum, функция возвращает существующий ранее объект вместо того, чтобы создать новый объект;contextиcalloutпараметры проигнорированы в этом случае. Владение соблюдает Создать Правило.Обсуждение
Объект CFMachPort не берет полное владение отправления и получает права на порт Маха
portNum. Это - ответственность вызывающей стороны освободить права порта Маха после того, как объект CFMachPort больше не будет необходим и будет лишен законной силы.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Лишает законной силы объект CFMachPort, мешая ему больше получать сообщения.
Объявление
Swift
func CFMachPortInvalidate(_port: CFMachPort!)Objective C
void CFMachPortInvalidate ( CFMachPortRef port );Параметры
portCFMachPort возражают для лишения законной силы.
Обсуждение
Лишение законной силы объекта CFMachPort предотвращает порт от когда-либо получения, больше обменивается сообщениями. Объект CFMachPort не освобожден, все же. Если порт не был уже лишен законной силы, функция обратного вызова аннулирования порта вызывается, если Вы были установлены с
CFMachPortSetInvalidationCallBack.CFMachPortContextinfoинформация дляportесли обратный вызов выпуска был указан в структуре контекста порта, также выпущен. Наконец, если источник цикла выполнения создавался дляport, источник цикла выполнения лишен законной силы, также.Если базовый порт Маха уничтожается, объект CFMachPort автоматически лишен законной силы.
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Создает объект CFRunLoopSource для объекта CFMachPort.
Объявление
Swift
func CFMachPortCreateRunLoopSource(_allocator: CFAllocator!, _port: CFMachPort!, _order: CFIndex) -> CFRunLoopSource!Objective C
CFRunLoopSourceRef CFMachPortCreateRunLoopSource ( CFAllocatorRef allocator, CFMachPortRef port, CFIndex order );Параметры
allocatorСредство выделения для использования для выделения памяти для нового объекта. Передача
NULLилиkCFAllocatorDefaultиспользовать текущее средство выделения по умолчанию.portПорт Маха, для которого можно создать объект CFRunLoopSource.
orderПоказатель приоритета, указывающий порядок, в котором обрабатываются выполненные источники цикла.
orderв настоящее время игнорируется CFMachPort выполненные источники цикла. Передача0для этого значения.Возвращаемое значение
Новые CFRunLoopSource возражают для
port. Владение соблюдает Создать Правило.Обсуждение
Источник цикла выполнения автоматически не добавляется к циклу выполнения. Для добавления источника к циклу выполнения использовать
CFRunLoopAddSource.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Когда объект CFMachPort лишен законной силы, устанавливает функцию обратного вызова, вызванную.
Объявление
Swift
func CFMachPortSetInvalidationCallBack(_port: CFMachPort!, _callout: CFMachPortInvalidationCallBack)Objective C
void CFMachPortSetInvalidationCallBack ( CFMachPortRef port, CFMachPortInvalidationCallBack callout );Параметры
portCFMachPort возражают для изменения.
calloutФункция обратного вызова для вызова, когда
portлишен законной силы. ПередачаNULLудалить обратный вызов.Обсуждение
Если
portуже недопустимо,calloutсразу вызывается.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает контекстную информацию для объекта CFMachPort.
Объявление
Swift
func CFMachPortGetContext(_port: CFMachPort!, _context: UnsafeMutablePointer<CFMachPortContext>)Objective C
void CFMachPortGetContext ( CFMachPortRef port, CFMachPortContext *context );Параметры
portCFMachPort возражают для исследования.
contextУказатель тот, на структуру, в который контекстная информация для
portдолжен быть скопирован. Возвращаемой информацией обычно является та же информация, которой Вы передалиCFMachPortCreateилиCFMachPortCreateWithPortпри созданииport. Однако, еслиCFMachPortCreateWithPortвозвращенный кэшируемый CFMachPort возражают вместо того, чтобы создать новый объект,contextзаполнено информацией от исходного объекта CFMachPort вместо информации, которую Вы передали функции.Обсуждение
Номер версии контекста для объектов CFMachPort в настоящее время
0. Прежде, чем вызвать эту функцию, необходимо инициализироватьversionэлементcontextк0.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает функцию обратного вызова аннулирования для объекта CFMachPort.
Объявление
Swift
func CFMachPortGetInvalidationCallBack(_port: CFMachPort!) -> CFMachPortInvalidationCallBackObjective C
CFMachPortInvalidationCallBack CFMachPortGetInvalidationCallBack ( CFMachPortRef port );Параметры
portCFMachPort возражают для исследования.
Возвращаемое значение
Функция обратного вызова, вызванная, когда
portлишен законной силы.NULLесли никакой обратный вызов не был установлен сCFMachPortSetInvalidationCallBack.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает порт собственного компонента Маха, представленный объектом CFMachPort.
Объявление
Swift
func CFMachPortGetPort(_port: CFMachPort!) -> mach_port_tObjective C
mach_port_t CFMachPortGetPort ( CFMachPortRef port );Параметры
portCFMachPort возражают для исследования.
Возвращаемое значение
Порт собственного компонента Маха, представленный
port.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает булево значение, указывающее, допустим ли объект CFMachPort и в состоянии получить сообщения.
Объявление
Swift
func CFMachPortIsValid(_port: CFMachPort!) -> BooleanObjective C
Boolean CFMachPortIsValid ( CFMachPortRef port );Параметры
portCFMachPort возражают для исследования.
Возвращаемое значение
trueеслиportможет использоваться для коммуникации, иначеfalse.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Возвращает идентификатор типа для CFMachPort непрозрачный тип.
Объявление
Swift
func CFMachPortGetTypeID() -> CFTypeIDObjective C
CFTypeID CFMachPortGetTypeID ( void );Возвращаемое значение
Идентификатор типа для CFMachPort непрозрачный тип.
Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Обратный вызов, вызванный для обработки сообщения, полученного на объекте CFMachPort.
Объявление
Swift
typealias CFMachPortCallBack = CFunctionPointer<((CFMachPort!, UnsafeMutablePointer<Void>, CFIndex, UnsafeMutablePointer<Void>) -> Void)>Objective C
typedef void (*CFMachPortCallBack) ( CFMachPortRef port, void *msg, CFIndex size, void *info );Параметры
portCFMachPort возражают на который сообщение
msgбыл получен.msgСообщение Маха, полученное на
port. Указатель к amach_msg_header_tструктура.sizeРазмер сообщения Маха
msg, исключая метку конца сообщения.infoinfoэлементCFMachPortContextструктура, используемая при созданииport.Обсуждение
Вы указываете этот обратный вызов при создании объекта CFMachPort с также
CFMachPortCreateилиCFMachPortCreateWithPort. Чтобы получить сообщения на объекте CFMachPort (и вызвать этот обратный вызов), необходимо создать источник цикла выполнения для порта и добавить его к циклу выполнения.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Когда объект CFMachPort лишен законной силы, обратный вызов вызвал.
Объявление
Swift
typealias CFMachPortInvalidationCallBack = CFunctionPointer<((CFMachPort!, UnsafeMutablePointer<Void>) -> Void)>Objective C
typedef void (*CFMachPortInvalidationCallBack) ( CFMachPortRef port, void *info );Параметры
portЛишенный законной силы объект CFMachPort.
infoinfoэлементCFMachPortContextструктура, используемая при созданииport.Обсуждение
Ваш обратный вызов должен освободить любые ресурсы, выделенные для
port.Вы указываете этот обратный вызов с
CFMachPortSetInvalidationCallBack.Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
-
Структура, содержащая определенные с помощью программы данные и обратные вызовы, с которыми можно сконфигурировать поведение объекта CFMachPort.
Объявление
Swift
struct CFMachPortContext { var version: CFIndex var info: UnsafeMutablePointer<Void> var retain: CFunctionPointer<((UnsafePointer<Void>) -> UnsafePointer<Void>)> var release: CFunctionPointer<((UnsafePointer<Void>) -> Void)> var copyDescription: CFunctionPointer<((UnsafePointer<Void>) -> Unmanaged<CFString>!)> init() init(versionversion: CFIndex, infoinfo: UnsafeMutablePointer<Void>, retainretain: CFunctionPointer<((UnsafePointer<Void>) -> UnsafePointer<Void>)>, releaserelease: CFunctionPointer<((UnsafePointer<Void>) -> Void)>, copyDescriptioncopyDescription: CFunctionPointer<((UnsafePointer<Void>) -> Unmanaged<CFString>!)>) }Objective C
struct CFMachPortContext { CFIndex version; void *info; CFAllocatorRetainCallBack retain; CFAllocatorReleaseCallBack release; CFAllocatorCopyDescriptionCallBack copyDescription; }; typedef struct CFMachPortContext CFMachPortContext;Поля
versionНомер версии структуры. Должен быть
0.infoПроизвольный указатель на определенные с помощью программы данные, которые могут быть связаны с объектом CFMachPort во время создания. Этот указатель передается всем обратным вызовам, определенным в контексте.
retainСохранить обратный вызов для Вашего определенного с помощью программы
infoуказатель. Может бытьNULL.releaseОбратный вызов выпуска для Вашего определенного с помощью программы
infoуказатель. Может бытьNULL.copyDescriptionОбратный вызов описания копии для Вашего определенного с помощью программы
infoуказатель. Может бытьNULL.Доступность
Доступный в iOS 2.0 и позже.
-
Ссылка на объект CFMachPort.
Объявление
Swift
typealias CFMachPortRef = CFMachPortObjective C
typedef struct __CFMachPort *CFMachPortRef;Оператор импорта
Objective C
@import CoreFoundation;Swift
import CoreFoundationДоступность
Доступный в iOS 2.0 и позже.
