Пакеты CCL и списки свойств
OS X v.10.5 и более позднее хранение поддержек строк и других данных за пределами самого модемного сценария в легко измененном файле списка свойств. Классический Mac OS (Система 7 через Mac OS 9) и OS X до v.10.5 предоставил подобную поддержку с данными, хранившими в ветви ресурсов каждого сценария. Это приложение объясняет оба механизма для внешнего хранения для разрешения простоты преобразования в более современный формат списка свойств.
О mlts Хранении Ресурса
Модемный сценарий от Mac OS 9 и ранее может содержать дополнительное mlts ресурс, говорящий интерпретатору CCL характеристики модема. Байт 1 обозначенная поддержка по крайней мере одного типа исправления стандартной погрешности (1=supported). Байт 2 был зарезервирован. Байт 3 обозначенных содержал максимальную длину (в символах) для переменной строки 7, байт 4 для переменной строки 8 и байт 5 для переменной строки 9.
Они наследство mlts опции не поддерживаются в OS X. OS X предполагает, что все модемы могут поддерживать строки набора по крайней мере 40 символов на строку набора и что все модемы поддерживают встроенную коррекцию ошибок.
О хранении списка свойств
Начинаясь в OS X v. 10.5, предпочтительный формат для внешнего хранения как список свойств. При использовании этого механизма сценарий CCL должен быть включен в пакет. Структура такого пакета показана ниже:
MyModem.ccl |
| |
|-Contents |
| |
|- Info.plist <- The property list |
|- Resources |
|-MyModem <- The script itself |
Для получения общей информации о списках свойств, посмотрите, что Список свойств Программирует Темы для Базового Руководства по программированию Основы и Списка свойств. Подробные данные того, что должно, необходимо вставить список свойств, покрыты следующими разделами.
Структура списка свойств
Словарь лиц CCL
Словарь CCLParameters
Этот словарь (dict элемент), содержит параметры, сделанные доступными для Вашего сценария CCL через переменные строки. (См. Переменные строки (varStrings) для получения дополнительной информации о том, как использовать эти переменные в Вашем сценарии.)
Ключ в словаре CCLParameters | Переменная строка в сценарии CCL | Описание |
|---|---|---|
|
| Скорость последовательного порта желаема. Можно использовать |
|
| Строка инициализации устройства. |
|
| Предпочтительное имя точки доступа. Используемый в основном для соединений сотового телефона. |
|
| Предпочтительный идентификатор соединения. Используемый в основном для соединений сотового телефона. |
|
| Одна из четырех специфичных для устройства строк, в которых можно передать. При помощи этих переменных строк можно совместно использовать единственный сценарий через многократные подобные модемы или для использования того же подобного модему устройства с (например), многократными услугами сотовой связи. |
|
| Одна из четырех специфичных для устройства строк, в которых можно передать. При помощи этих переменных строк можно совместно использовать единственный сценарий через многократные подобные модемы или для использования того же подобного модему устройства с (например), многократными услугами сотовой связи. |
|
| Одна из четырех специфичных для устройства строк, в которых можно передать. При помощи этих переменных строк можно совместно использовать единственный сценарий через многократные подобные модемы или для использования того же подобного модему устройства с (например), многократными услугами сотовой связи. |
|
| Одна из четырех специфичных для устройства строк, в которых можно передать. При помощи этих переменных строк можно совместно использовать единственный сценарий через многократные подобные модемы или для использования того же подобного модему устройства с (например), многократными услугами сотовой связи. |
Ключ типа подключения
Это string элемент описывает тип соединения. Допустимые значения Dialup и GPRS
Словарь имен устройств
Это dict элемент должен содержать следующие пары ключ/значение:
DeviceModel— Astringэлемент, представляющий число модели устройства или имя.DeviceVendor— Astringэлемент, описывающий имя поставщика.
Эти строки представлены пользователю при выборе модели устройства и производителя.
Словарь возможностей GPRS
Это dict элемент поддерживает следующие ключи:
CID Query— Булево значение, говорящее, позволяет ли устройство OS X запрашивать его для подходящего соединения IDs. OS X использует эту информацию вне объема Вашего сценария.Юридические значения
<true/>и<false/>.Data Mode— Булево значение, указывающее, поддерживает ли устройство инициирование соединения путем запроса режима данных (AT+CGDATA). Ваш сценарий должен уважать это значение при создании соединения и использовать режим данных только на коммуникационных аппаратных средствах, поддерживающих его.Юридические значения
<true/>и<false/>.Dial Mode— Булево значение, указывающее, поддерживает ли устройство инициирование соединения путем набирания фиктивного номера (ATD *99). Если это правда, OS X заполнит телефонный номер автоматически.Юридические значения
<true/>и<false/>Independent CIDs— Булево значение, указывающее, поддерживает ли устройство независимый CIDs для компьютерного использования по сравнению с внутренним (функция сотового телефона) использование.Когда Вы даете команду AT, устанавливающую CID (
AT+CGDCONT=..., устройства с независимой поддержкой CID обрабатывают команду AT как временное изменение от значения по умолчанию. Устройства, испытывающие недостаток в этой функции, "забывают” свое предыдущее значение CID и должны быть реконфигурированы на разъединение для предотвращения потери службы, уменьшенной службы или неожиданных тарификационных зарядов.Юридические значения
<true/>и<false/>.Maximum CID— Значение типаintegerэто представляет максимальный допустимый идентификатор соединения (CID) значение, поддерживаемое устройством. OS X использует эту информацию вне объема Вашего сценария.
Ключ имени сценария
Это string элемент говорит имя сценария в Resources каталог в Вашем пакете сценария.
Разные ключи свойства верхнего уровня
Ключ версии CCL
Это integer ключ должен в настоящее время всегда быть 1.
Ключи CFBundle
Следующий CFBundle ключи должны быть предоставлены:
CFBundleDevelopmentRegionCFBundleGetInfoStringCFBundleIdentifierCFBundleInfoDictionaryVersionCFBundleNameCFBundlePackageTypeCFBundleShortVersionStringCFBundleSignatureCFBundleVersion
Для получения дополнительной информации об этих ключах, см. Ссылку CFBundle.
Списки свойств в качестве примера
Этот раздел показывает два списка свойств в качестве примера. Перечисление 3-1 показывает пример списка свойств для устройства GPRS. Перечисление 3-2 показывает список свойств для традиционного устройства модема коммутируемого доступа.
Перечисление 3-1 пример списка свойства устройства GPRS
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |
<plist version="1.0"> |
<dict> |
<key>CCL Personalities</key> |
<dict> |
<key>Default Personality</key> |
<dict> |
<key>Device Names</key> |
<array> |
<dict> |
<key>DeviceModel</key> |
<string>GPRS Device</string> |
<key>DeviceVendor</key> |
<string>Example</string> |
</dict> |
</array> |
<key>Connect Type</key> |
<string>GPRS</string> |
<key>Script Name</key> |
<string>GPRS Example</string> |
<key>GPRS Capabilities</key> |
<dict> |
<key>Data Mode</key> |
<false/> |
<key>Dial Mode</key> |
<true/> |
<key>Independent CIDs</key> |
<false/> |
<key>CID Query</key> |
<false/> |
<key>Maximum CID</key> |
<integer>10</integer> |
</dict> |
<!-- SystemConfiguration values can replace CCLParameters --> |
<key>CCLParameters</key> |
<dict> |
<key>Init String</key> |
<string>E0V1&F&D2&C1&C2S0=0</string> |
<key>Preferred APN</key> |
<string>network</string> |
<key>varString 27</key> |
<string></string> |
<key>varString 28</key> |
<string></string> |
<key>varString 29</key> |
<string></string> |
<key>varString 30</key> |
<string></string> |
</dict> |
</dict> |
</dict> |
<key>CFBundleIdentifier</key> |
<string>com.apple.ccl.GPRS_Example</string> |
<key>CFBundleName</key> |
<string>GPRS Example</string> |
<key>CCL Version</key> |
<integer>1</integer> |
<key>CFBundleDevelopmentRegion</key> |
<string>English</string> |
<key>CFBundlePackageType</key> |
<string>CCLB</string> |
<key>CFBundleShortVersionString</key> |
<string>1.0</string> |
<key>CFBundleSignature</key> |
<string>iSPM?</string> |
<key>CFBundleVersion</key> |
<string>1.0</string> |
</dict> |
</plist> |
Перечисление 3-2 пример списка свойств модема коммутируемого доступа
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> |
<plist version="1.0"> |
<dict> |
<key>CCL Personalities</key> |
<dict> |
<key>Default Personality</key> |
<dict> |
<key>Device Names</key> |
<array> |
<dict> |
<key>DeviceModel</key> |
<string>Dialup Device</string> |
<key>DeviceVendor</key> |
<string>Example</string> |
</dict> |
</array> |
<key>Connect Type</key> |
<string>Dialup</string> |
<key>Script Name</key> |
<string>Dialup Example</string> |
<key>CCLParameters</key> |
<dict> |
<key>Connect Speed</key> |
<string>115200</string> |
<key>Init String</key> |
<string>&FE0V1</string> |
<key>varString 27</key> |
<string></string> |
<key>varString 28</key> |
<string></string> |
<key>varString 29</key> |
<string></string> |
<key>varString 30</key> |
<string></string> |
</dict> |
</dict> |
</dict> |
<key>CFBundleIdentifier</key> |
<string>com.apple.ccl.Dialup_Example</string> |
<key>CFBundleName</key> |
<string>Dialup Example</string> |
<key>CCL Version</key> |
<integer>1</integer> |
<key>CFBundleDevelopmentRegion</key> |
<string>English</string> |
<key>CFBundlePackageType</key> |
<string>CCLB</string> |
<key>CFBundleShortVersionString</key> |
<string>1.0</string> |
<key>CFBundleSignature</key> |
<string>iSPM?</string> |
<key>CFBundleVersion</key> |
<string>1.0</string> |
</dict> |
</plist> |