O código presente nesse repositório está sendo disponibilizado publicamente para demonstrar uma forma de implementar, na linguagem C++, o protocolo PDAF-USB de acordo com a Especificação Técnica de Requisitos do Dispositivo Autorizador Fiscal (DAF) - revisão 3.0.0. Contudo, o código não foi amplamente testado e validado de forma a garantir um funcionamento correto, confiável e seguro. Sendo assim, o código aqui disponibilizado não deve ser considerado como uma implementação de referência para o PDAF-USB.
Não cabe à SEF ou ao IFSC prestar suporte sobre os componentes, códigos ou excertos de código disponíveis nesse repositório, sendo a presente versão considerada final, sem previsão de alterações, correção de bugs ou melhorias.
A SEF e o IFSC eximem-se de qualquer responsabilidade, direta ou indireta, por perdas ou danos, comprovadamente ou alegadamente, causados pelo código aqui disponibilizado. Caso deseje usar essa biblioteca em seu projeto ou produto, você estará fazendo isto exclusivamente por sua conta e risco.
Biblioteca desenvolvida na linguagem C++ que implementa o protocolo PDAF-USB de acordo com a Especificação Técnica de Requisitos do Dispositivo Autorizador Fiscal (DAF) - revisão 3.0.0. A biblioteca possui dependência da biblioteca padrão do C++ e da biblioteca Asio. Assim, é possível usá-la em aplicações desenvolvidas para os sistemas operacionais Linux, macOS ou Windows (com os compiladores MinGW ou MSVC).
No diretório exemplo deste repositório tem-se uma aplicação para demonstrar o uso dessa biblioteca. A aplicação permite enviar pedidos da API DAF que dependem dos comandos de transporte do protocolo PDAF-USB enviarMensagem
ou enviarBinario
(veja Seção 6.2 da Especificação Técnica de Requisitos do DAF - revisão 3.0.0).
- Baixar o código presente neste repositório:
git clone https://github.com/ifsc-lased/libpdafusb.git cd libpdafusb
- Gerar o sistema de construção (i.e. Makefile)
- No Linux ou macOS:
cmake -S . -B build
- No Windows com MinGW
cmake -S . -B build -G "MinGW Makefiles"
- Compilar a biblioteca e a aplicação exemplo (veja as funcionalidades da aplicação aqui)
cmake --build build
- Serão gerados os seguintes arquivos:
- Biblioteca estática (archive)
- No Linux ou macOS:
build/src/libpdafusb.a
- No Windows:
build\src\libpdafusb.a
- No Linux ou macOS:
- Aplicação exemplo para interagir com um DAF
- No Linux ou macOS:
build/exemplo/app-exemplo
- No Windows:
build\exemplo\app-exemplo.exe
- No Linux ou macOS:
- Biblioteca estática (archive)
- Serão gerados os seguintes arquivos:
Caso queira instalar a biblioteca, bem como os seus respectivos os arquivos de cabeçalho, faça:
cmake --install build --strip --config Release
Se está escrevendo um projeto com CMake, é possível baixar e usar esta biblioteca por meio do FetchContent. Inclua as linhas abaixo dentro do arquivo CMakeLists.txt
do seu projeto:
include(FetchContent)
FetchContent_Declare(pdafusb
GIT_REPOSITORY https://github.com/ifsc-lased/libpdafusb.git
GIT_TAG 0.1.0
)
FetchContent_MakeAvailable(pdafusb)
# considerando que appexemplo é o nome do alvo (target)
target_link_libraries(appexemplo PRIVATE pdafusb)
Caso no seu projeto você não faça uso do CMake, ainda assim é possível usar essa biblioteca, porém terá que copiar manualmente os arquivos presentes nesse repositório.
Biblioteca | Uso | Licença |
---|---|---|
Asio C++ Library | Para comunicação assíncrona | Boost Software License 1.0 |