Skip to content
This repository has been archived by the owner on Jan 28, 2022. It is now read-only.

Separate integration library #348

Closed
ChristianRiedl opened this issue Dec 8, 2019 · 5 comments
Closed

Separate integration library #348

ChristianRiedl opened this issue Dec 8, 2019 · 5 comments
Assignees
Labels
enhancement New feature or request

Comments

@ChristianRiedl
Copy link
Contributor

Especially for the implementation of integrations using QAbstractListModel like media players, weather, ... it makes sense that every integration uses the same "model" classes. I think the sources should be in a separate static integration library, not somewhere in the remote-software source hierarchy.

This integration library can also contain often used functionalities like OAuth, ...

The Integration base class should be there maybe extended to a more functional integration base class covering also the separate "integration thread".

@ChristianRiedl ChristianRiedl added the feature request Feature request label Dec 8, 2019
@zehnm
Copy link
Member

zehnm commented Dec 8, 2019

Further request for the separate library (or even an additional package like an integration-dev package): include all required header files to be able to compile the integration plugins.
I'm struggling at moment defining simple custom Buildroot packages for the integration plugins since the header files are in the software-remote module.

@ChristianRiedl ChristianRiedl added enhancement New feature or request and removed feature request Feature request labels Dec 16, 2019
@zehnm zehnm self-assigned this Jan 8, 2020
@zehnm zehnm added this to Backlog in YIO Remote software via automation Jan 8, 2020
@zehnm zehnm moved this from Backlog to Design in YIO Remote software Jan 8, 2020
@zehnm zehnm added this to the Release 0.3 milestone Jan 8, 2020
@zehnm zehnm moved this from Design to Implementation in YIO Remote software Jan 10, 2020
@zehnm
Copy link
Member

zehnm commented Jan 10, 2020

To simplify the separation of the common interfaces and classes I will create the integration library as a Qt Project Include (.pri) instead of a full blown static library.

With a static library we have another build dependency for 4 platforms and all existing build setups (Developer setup, GitHub Actions CI, Docker build image, Buildroot custom packages) need major work.
Once everything is working and the integration library contains more features we can think about a static library for ARM, macOS, Linux and Windows again.

zehnm added a commit to YIO-Remote/integrations.library that referenced this issue Jan 10, 2020
- included all header files
- refactored to Qt Include Project

Part of YIO-Remote/remote-software#348
zehnm added a commit to YIO-Remote/integration.dock that referenced this issue Jan 10, 2020
zehnm added a commit that referenced this issue Jan 10, 2020
zehnm pushed a commit to YIO-Remote/integrations.library that referenced this issue Jan 11, 2020
- Moved all sources and headers to ./src
- New project include files with consistent naming
- Added README
- Fixed cpplint issues

Part of YIO-Remote/remote-software#348
zehnm added a commit to YIO-Remote/integration.dock that referenced this issue Jan 11, 2020
- GitHub action to verify code guidelines
- Fixed cpplint issues

Part of YIO-Remote/remote-software#348
zehnm added a commit that referenced this issue Jan 11, 2020
zehnm added a commit to YIO-Remote/integration.home-assistant that referenced this issue Jan 12, 2020
- Included Qt linguist in qmake
- GitHub Action to verify code guidelines
- Fixed cpplint issues
- Improved logging

Part of YIO-Remote/remote-software#348
zehnm added a commit to YIO-Remote/integration.homey that referenced this issue Jan 13, 2020
- GitHub Action to verify code guidelines
- Fixed cpplint issues
- Fixed reconnect handling:
   QWebSocket.close may only be called if socket is valid
- Renamed socket and timer member vars
- Improved logging

Part of YIO-Remote/remote-software#348
zehnm added a commit to YIO-Remote/integration.openhab that referenced this issue Jan 13, 2020
- GitHub Action to verify code guidelines
- Fixed cpplint issues

Part of YIO-Remote/remote-software#348
zehnm added a commit to YIO-Remote/integration.openweather that referenced this issue Jan 13, 2020
- GitHub Action to verify code guidelines
- Fixed most cpplint issues

Part of YIO-Remote/remote-software#348
zehnm added a commit to YIO-Remote/integration.roon that referenced this issue Jan 14, 2020
- GitHub Action to build dynamic library
- GitHub Action to verify code guidelines

Part of YIO-Remote/remote-software#348
zehnm added a commit to YIO-Remote/integration.spotify that referenced this issue Jan 14, 2020
- GitHub Action to build dynamic library
- GitHub Action to verify code guidelines
- Fixed cpplint issues

Part of YIO-Remote/remote-software#348
zehnm added a commit to YIO-Remote/integration.openhab that referenced this issue Jan 17, 2020
- Using the base integration interfaces instead of generic QObject.

Part of YIO-Remote/remote-software#348
zehnm added a commit to YIO-Remote/integration.openweather that referenced this issue Jan 17, 2020
- Using the base integration interfaces instead of generic QObject.

Part of YIO-Remote/remote-software#348
zehnm added a commit to YIO-Remote/integration.roon that referenced this issue Jan 17, 2020
- Using the base integration interfaces instead of generic QObject.

Part of YIO-Remote/remote-software#348
zehnm added a commit to YIO-Remote/integration.spotify that referenced this issue Jan 17, 2020
- Using the base integration interfaces instead of generic QObject.

Part of YIO-Remote/remote-software#348
@martonborzak martonborzak moved this from Implementation to Reviewer approved in YIO Remote software Jan 25, 2020
@martonborzak
Copy link
Member

Can this be closed @zehnm ?

@zehnm
Copy link
Member

zehnm commented Feb 23, 2020

It should auto-close once merged into master

@zehnm zehnm moved this from Reviewer approved to Done in YIO Remote software Feb 23, 2020
zehnm added a commit to YIO-Remote/integration.dock that referenced this issue Apr 12, 2020
zehnm added a commit to YIO-Remote/integration.dock that referenced this issue Apr 12, 2020
Using the base integration interfaces instead of generic QObject.

Part of YIO-Remote/remote-software#348
zehnm added a commit to YIO-Remote/integration.roon that referenced this issue Apr 13, 2020
- GitHub Action to build dynamic library
- GitHub Action to verify code guidelines

Part of YIO-Remote/remote-software#348
zehnm added a commit to YIO-Remote/integration.roon that referenced this issue Apr 13, 2020
- Using the base integration interfaces instead of generic QObject.

Part of YIO-Remote/remote-software#348
zehnm added a commit to YIO-Remote/integration.openweather that referenced this issue Apr 13, 2020
- GitHub Action to verify code guidelines
- Fixed most cpplint issues

Part of YIO-Remote/remote-software#348
zehnm added a commit to YIO-Remote/integration.openweather that referenced this issue Apr 13, 2020
- Using the base integration interfaces instead of generic QObject.

Part of YIO-Remote/remote-software#348
zehnm added a commit to YIO-Remote/integration.spotify that referenced this issue Apr 13, 2020
- GitHub Action to build dynamic library
- GitHub Action to verify code guidelines
- Fixed cpplint issues

Part of YIO-Remote/remote-software#348
zehnm added a commit to YIO-Remote/integration.spotify that referenced this issue Apr 13, 2020
- Using the base integration interfaces instead of generic QObject.

Part of YIO-Remote/remote-software#348
zehnm added a commit to YIO-Remote/integration.openhab that referenced this issue Apr 13, 2020
- GitHub Action to verify code guidelines
- Fixed cpplint issues

Part of YIO-Remote/remote-software#348
zehnm added a commit to YIO-Remote/integration.openhab that referenced this issue Apr 13, 2020
- Using the base integration interfaces instead of generic QObject.

Part of YIO-Remote/remote-software#348
zehnm added a commit to YIO-Remote/integration.home-assistant that referenced this issue Apr 14, 2020
- Included Qt linguist in qmake
- GitHub Action to verify code guidelines
- Fixed cpplint issues
- Improved logging

Part of YIO-Remote/remote-software#348
zehnm added a commit to YIO-Remote/integration.home-assistant that referenced this issue Apr 14, 2020
- Using the base integration interfaces instead of generic QObject.

Part of YIO-Remote/remote-software#348
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
No open projects
Development

No branches or pull requests

3 participants