Hide private implementation classes in order to prevent symbol collision

Authored by leandrosantiago on Jul 2 2018, 8:37 PM.

Description

Hide private implementation classes in order to prevent symbol collision

Summary:
On Unix, symbols are public unless specified otherwise (with anonymous namespace or static signature modifier).

When used as a library, the symbols defined by AtCore will likely collide with symbols with the same name in other libraries.
This change aims to make is less likely, by hiding the *Private classes inside their respective public interfaces.

For discussion: A propper solution would consist on moving all public classes to a well defined namespace, via C++ namespaces or via name prefix.
So Temperature would either be AtTemperature or atelier::Temperature, for instance.

This change should not affect any feature at all, unless the application code depends on such private symbols. What must not happen.

Test Plan: No test is necessary. If it builds, it works.

Reviewers: tcanabrava, Atelier: AtCore, laysrodrigues, rizzitello

Reviewed By: tcanabrava, Atelier: AtCore, laysrodrigues, rizzitello

Differential Revision: https://phabricator.kde.org/D13859