# KService do &kde-frameworks;

`desktoptojson`

8

`desktoptojson`

Converte um arquivo `.desktop` para um arquivo `.json`.

## Sintaxe

    desktoptojson --input ARQUIVO-DESKTOP --output ARQUIVO-JSON

    desktoptojson  --version --help

## Descrição

A plataforma KService usa as informações contidas nos arquivos `.desktop` para localizar os serviços, incluindo os plugins para os aplicativos e bibliotecas baseados em Qt5. O sistema de plugins do Qt5, contudo, usa dados em &JSON; incorporados no próprio plugin. O `desktoptojson` permite que as informações existentes em um arquivo `.desktop` também sejam usadas como dados incorporados para um plugin do Qt5, convertendo os elementos do arquivo `.desktop` para dados em &JSON;.

Os dados gerados em &JSON; são um objeto &JSON; que interpreta os elementos do grupo `[Desktop Entry]` do arquivo `.desktop`. Todos os outros grupos serão ignorados. A maioria dos elementos são apenas convertidos para strings em &JSON;, mas alguns deles (como o `Hidden` e o `X-KDE-PluginInfo-EnabledByDefault`) são reconhecidos e convertidos para valores booleanos. Da mesma forma, outros (como o `X-KDE-ServiceTypes` e o `X-KDE-PluginInfo-Depends`) são sempre convertidos para listas de strings.

## Opções

`--input `ARQUIVO-DESKTOP``

- Arquivo `.desktop` a converter.

`--output `ARQUIVO-JSON``

- Arquivo para onde gravar os dados gerados em &JSON;.

`--help`

- Mostra um breve texto de ajuda.

`--version`

- Mostra informações sobre a versão.

## Uso

Muitos usuários deste utilitário usarão a macro do &cmake; `kservice_desktop_to_json` como parte do processo de compilação de um plugin.

    add_library(meuplugin MODULE ${meuplugin_SRCS})
    kservice_desktop_to_json(meuplugin meuplugin.desktop)

Isto irá criar o arquivo &JSON; `meuplugin.json`, que poderá ser usado nas macros `K_PLUGIN_FACTORY_WITH_JSON` ou `Q_PLUGIN_METADATA`.

## Problemas

Use o sistema de gerenciamento de erros do &kde; para relatar erros.