Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ_А.Парамонов.doc
Скачиваний:
18
Добавлен:
08.09.2019
Размер:
7.82 Mб
Скачать

2.5.3.Библиотека pcsc для работы с электронными картами

Данная библиотека предоставляет широкие возможности по работе со считывателями электронных карт, подключаемых по USB или RS232. Интерфейс библиотеки включает в себя набор API-функций [21], с помощью которых можно достаточно гибко управлять считывателем электронных карт.

Работа библиотеки осуществляется посредством специального процесса PCSCD – демона. Основные функции данного процесса заключаются в следующем:

  • управление соединениями со считывателями и электронными картами;

  • распределение ресурсов;

  • осуществление транзакций;

  • загрузка драйверов считывателей электронных карт;

  • поиск считывателей, подключенных по интерфейсу USB и RS232;

Функции и используемые типы данных сделаны в соответствии с API-функциями, предоставляемыми в операционной системе Windows. Такой подход упрощает перенос приложения с одной платформы на другую. Основные функции интерфейса библиотеки PCSC представлены в табл. Таблица 2 .10.

Таблица 2.10

API-функции библиотеки PCSC

Название

Краткое описание

SCardEstablishContext

Создание рабочего контекста для данного приложения

SCardReleaseContext

Удаление контекста

SCardConnect

Установление соединения со считывателем

SCardDisconnect

Разрыв установленного соединения

Таблица 2 .10 (продолжение)

SCardBeginTransaction

Начало транзакции с электронной картой

SCardEndTransaction

Завершение транзакции

SCardStatus

Получение текущего статуса считывателя и карты

SCardTransmit

Отправка данных в карту

SCardListReaders

Получение списка подключенных считывателей

2.5.4.Библиотека TinyXml для работы с xml-файлами

Библиотека TinyXML [22] предоставляет возможности по чтению и сохранению информации в файлах в формате XML. Данный формат позволяет легко организовать вложенную структуру, что делает его подходящим для хранения каких-либо конфигурационных данных. При разработке ПС ЭТ все конфигурационные данные (выбранный считыватель электронных карт, конфигурация последовательных портов) сохраняются в формате XML в домашнем каталоге пользователя.

Для работы с форматом XML библиотека использует модель DOM. Модель DOM не накладывает ограничений на структуру документа. Любой документ известной структуры с помощью DOM может быть представлен в виде дерева узлов, каждый узел которого представляет собой элемент, атрибут, текстовый, графический или любой другой объект. Узлы связаны между собой отношениями родительский - дочерний.

В библиотеке TinyXML модель DOM реализована в виде набора C++ классов, которые реализуют необходимые уровни иерархии. Основные классы библиотеки перечислены в табл.

Таблица 2.11

Основные классы библиотеки TinyXml

Название

Краткое описание

Пример

TiXmlDocument

Документ XML – узел верхнего уровня

TiXmlDeclaration

Заголовок документа XML

<?xml version = "1.0" standalone = "yes"?>

TiXmlComment

Комментарий

<!-- Comment -->

TiXmlNode

Базовый класс для всех узлов в документе XML

TiXmlElement

Узел документа XML, может содержать атрибуты, текст и другие узлы.

<Item priority="2">

Do bills

</Item>

TiXmlText

Текст внутри узла XML

<Item priority="2">

Do bills

</Item>

TiXmlAttribute

Атрибут узла XML

<Item priority="2">

Do bills

</Item>

Помимо классов, реализующих DOM-модель, библиотека предоставляет ряд средств для вывода результатов (TiXmlPrinter) и получения ссылки на конкретный узел документа без анализа всей его структуры (TiXmlHandle).