fancontrolqmlextension.cpp 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /*
  2. * Copyright 2016 Malte Veerman <malte.veerman@gmail.com>
  3. *
  4. * This program is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU General Public License as
  6. * published by the Free Software Foundation; either version 2 of
  7. * the License or (at your option) version 3 or any later version
  8. * accepted by the membership of KDE e.V. (or its successor approved
  9. * by the membership of KDE e.V.), which shall act as a proxy
  10. * defined in Section 14 of version 3 of the license.
  11. *
  12. * This program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU General Public License
  18. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  19. *
  20. */
  21. #include "fancontrolqmlextension.h"
  22. #include "fan.h"
  23. #include "pwmfan.h"
  24. #include "temp.h"
  25. #include "hwmon.h"
  26. #include "loader.h"
  27. #include "guibase.h"
  28. #ifndef NO_SYSTEMD
  29. #include "systemdcommunicator.h"
  30. #endif
  31. #include <QtQml/qqml.h>
  32. namespace Fancontrol
  33. {
  34. void FancontrolQmlExtension::registerTypes(const char* uri)
  35. {
  36. Q_ASSERT(uri == QLatin1String("Fancontrol.Qml"));
  37. qmlRegisterType<Fan>();
  38. qmlRegisterUncreatableType<PwmFan>(uri, 1, 0, "PwmFan", QStringLiteral("PwmFan is not instantiable from QML!"));
  39. qmlRegisterType<Temp>();
  40. qmlRegisterType<Hwmon>();
  41. qmlRegisterType<Loader>();
  42. #ifndef NO_SYSTEMD
  43. qmlRegisterType<SystemdCommunicator>();
  44. #endif
  45. qmlRegisterSingletonType<GUIBase>(uri, 1, 0, "Base", base);
  46. }
  47. QObject * FancontrolQmlExtension::base(QQmlEngine *engine, QJSEngine *jsengine)
  48. {
  49. Q_UNUSED(engine)
  50. Q_UNUSED(jsengine)
  51. return new GUIBase;
  52. }
  53. }