X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=app%2Fpacontrolmodel.h;h=81eb70bfbc3e17514e67b7adee8e35c2b19c857f;hb=d9bb450ee8898cb810027897a32afd3adcb05d9f;hp=aa34a79e83f9a9ee140e12516ae6a35989704774;hpb=392effc544e3d94b82f806378d4ac1d11a185422;p=apps%2Fmixer.git diff --git a/app/pacontrolmodel.h b/app/pacontrolmodel.h index aa34a79..81eb70b 100644 --- a/app/pacontrolmodel.h +++ b/app/pacontrolmodel.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 Konsulko Group + * Copyright (C) 2016,2017 Konsulko Group * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,36 +16,34 @@ #include -#ifndef __cplusplus -extern void add_one_control(void *ctx, int, const char *, int, int, const char *, int); -#else -extern "C" void add_one_control(void *ctx, int, const char *, int, int, const char *, int); - -#include -#include +#include +#include class PaControlModel; class PaControl { public: - PaControl(const quint32 &index, const QString &desc, const quint32 &type, const quint32 &channel, const QString &cdesc, const quint32 &volume); + PaControl(const quint32 &index, const QString &name, const QString &desc, const quint32 &type, const quint32 &channel, const QString &cdesc, const quint32 &volume); quint32 cindex() const; + QString name() const; QString desc() const; quint32 type() const; quint32 channel() const; QString cdesc() const; quint32 volume() const; void setCIndex(const QVariant&); + void setName(const QVariant&); void setDesc(const QVariant&); void setType(const QVariant&); void setChannel(const QVariant&); void setCDesc(const QVariant&); - void setVolume(pa_context *, const QVariant&); + void setVolume(PaControlModel *, const QVariant&); private: quint32 m_cindex; + QString m_name; QString m_desc; quint32 m_type; quint32 m_channel; @@ -59,6 +57,7 @@ class PaControlModel : public QAbstractListModel public: enum PaControlRoles { CIndexRole = Qt::UserRole + 1, + NameRole, DescRole, TypeRole, ChannelRole, @@ -78,10 +77,16 @@ class PaControlModel : public QAbstractListModel Qt::ItemFlags flags(const QModelIndex &index) const; + public slots: + void addOneControl(int cindex, QString name, QString desc, int type, int channel, const char *cdesc, int volume); + void changeExternalVolume(uint32_t type, uint32_t cindex, uint32_t chan, uint32_t volume); + + signals: + void volumeChanged(uint32_t type, uint32_t index, uint32_t channel, uint32_t volume); + protected: QHash roleNames() const; private: QList m_controls; pa_context *pa_ctx; }; -#endif // __cplusplus