summaryrefslogtreecommitdiff
path: root/libresourceqt/src
diff options
context:
space:
mode:
authorWolf Bergenheim <ext-wolf.2.bergenheim@nokia.com>2010-02-18 12:52:29 +0200
committerWolf Bergenheim <ext-wolf.2.bergenheim@nokia.com>2010-02-18 12:52:29 +0200
commita36aef2b7c5128785a60213a6607191a8bfb1ecf (patch)
treeadd37ed9e8b7172dd5df4fab24a4333a0dd7116c /libresourceqt/src
parentfdb67c341fcb9ea0ae29a7889227ded6ac66a362 (diff)
astyled the code
Diffstat (limited to 'libresourceqt/src')
-rw-r--r--libresourceqt/src/audio-resource.cpp39
-rw-r--r--libresourceqt/src/resource-engine.cpp55
-rw-r--r--libresourceqt/src/resource-engine.h6
-rw-r--r--libresourceqt/src/resource-set.cpp48
4 files changed, 103 insertions, 45 deletions
diff --git a/libresourceqt/src/audio-resource.cpp b/libresourceqt/src/audio-resource.cpp
index 79587ff..b8c049f 100644
--- a/libresourceqt/src/audio-resource.cpp
+++ b/libresourceqt/src/audio-resource.cpp
@@ -3,12 +3,14 @@
using namespace ResourcePolicy;
AudioResource::AudioResource(const QString &audioGroup)
- : QObject(), Resource(), group(audioGroup), pid(0), stream(QString())
+ : QObject(), Resource(), group(audioGroup), pid(0),
+ streamName(QString()), streamValue(QString())
{
}
AudioResource::AudioResource(const AudioResource &other)
- : QObject(), Resource(other), group(other.group), pid(other.pid), stream(other.stream)
+ : QObject(), Resource(other), group(other.group), pid(other.pid),
+ streamName(other.streamName), streamValue(other.streamValue)
{
}
@@ -26,6 +28,14 @@ QString AudioResource::audioGroup() const
return group;
}
+bool AudioResource::audioGroupIsSet() const
+{
+ if (group.isEmpty() || group.isNull()) {
+ return false;
+ }
+ return true;
+}
+
void AudioResource::setAudioGroup(const QString &newGroup)
{
qDebug("this = %p", this);
@@ -45,15 +55,30 @@ void AudioResource::setProcessID(quint32 newPID)
emit pidChanged(pid);
}
-QString AudioResource::streamTag() const
+QString AudioResource::streamTagName() const
+{
+ return streamName;
+}
+
+QString AudioResource::streamTagValue() const
+{
+ return streamValue;
+}
+
+bool AudioResource::streamTagIsSet() const
{
- return stream;
+ if (streamName.isEmpty() || streamName.isNull() ||
+ streamValue.isEmpty() || streamValue.isNull()) {
+ return false;
+ }
+ return true;
}
-void AudioResource::setStreamTag(const QString & newStreamTag)
+void AudioResource::setStreamTag(const QString &name, const QString &value)
{
- stream = newStreamTag;
- emit streamTagChanged(stream);
+ streamName = name;
+ streamValue = value;
+ emit streamTagChanged(name, value);
}
ResourceType AudioResource::type() const
diff --git a/libresourceqt/src/resource-engine.cpp b/libresourceqt/src/resource-engine.cpp
index 5c02b44..f788439 100644
--- a/libresourceqt/src/resource-engine.cpp
+++ b/libresourceqt/src/resource-engine.cpp
@@ -388,20 +388,42 @@ bool ResourceEngine::updateResources()
return true;
}
-bool ResourceEngine::registerAudioPid(quint32)
+bool ResourceEngine::registerAudioPid(quint32 pid)
{
- return false;
+ if(pid == 0)
+ return false;
+
+ resmsg_t message;
+ memset(&message, 0, sizeof(resmsg_t));
+
+ message.audio.pid = pid;
+
+ qDebug("audio pid %u", pid);
+ return sendAudioMessage(&message);
}
-bool ResourceEngine::registerAudioStreamTag(const QString &)
+bool ResourceEngine::registerAudioStreamTag(const QString &name, const QString &value)
{
- return false;
+ if(name.isEmpty() || name.isNull() || value.isEmpty() || value.isNull())
+ return false;
+
+ resmsg_t message;
+ memset(&message, 0, sizeof(resmsg_t));
+
+ QByteArray nameBa = name.toLatin1();
+ QByteArray valueBa = value.toLatin1();
+ message.audio.property.name = nameBa.data();
+ message.audio.property.match.method = resmsg_method_equals;
+ message.audio.property.match.pattern = valueBa.data();
+
+ qDebug() << "audio stream tag " << name << ":" << value;
+ return sendAudioMessage(&message);
}
bool ResourceEngine::registerAudioGroup(const QString &audioGroup)
{
- if((audioGroup == "") || (audioGroup == QString()))
- return false;
+ if(audioGroup.isEmpty() || audioGroup.isNull())
+ return false;
resmsg_t message;
memset(&message, 0, sizeof(resmsg_t));
@@ -409,28 +431,27 @@ bool ResourceEngine::registerAudioGroup(const QString &audioGroup)
QByteArray ba = audioGroup.toLatin1();
message.audio.group = ba.data();
- message.audio.type = RESMSG_AUDIO;
- message.audio.id = resourceSet->id();
- message.audio.reqno = ++requestId;
+ qDebug() << "audio group " << audioGroup;
+ return sendAudioMessage(&message);
+}
- message.audio.type = RESMSG_AUDIO;
+bool ResourceEngine::sendAudioMessage(resmsg_t *message)
+{
+ message->audio.type = RESMSG_AUDIO;
+ message->audio.id = resourceSet->id();
+ message->audio.reqno = ++requestId;
-// msg.audio.pid = pid;
-//stream tag is a name:value pair
-// msg.audio.property.name = name;
-// msg.audio.property.match.method = resmsg_method_equals;
-// msg.audio.property.match.pattern = value;
+ message->audio.type = RESMSG_AUDIO;
messageMap.insert(requestId, RESMSG_AUDIO);
qDebug("audio %u:%u", resourceSet->id(), requestId);
- int success = resproto_send_message(libresourceSet, &message, statusCallbackHandler);
+ int success = resproto_send_message(libresourceSet, message, statusCallbackHandler);
if(!success)
return false;
else
return true;
-
}
static void connectionIsUp(resconn_t *connection)
diff --git a/libresourceqt/src/resource-engine.h b/libresourceqt/src/resource-engine.h
index b1fec70..594a20b 100644
--- a/libresourceqt/src/resource-engine.h
+++ b/libresourceqt/src/resource-engine.h
@@ -36,7 +36,7 @@ public:
bool updateResources();
bool registerAudioPid(quint32 pid);
- bool registerAudioStreamTag(const QString &streamName);
+ bool registerAudioStreamTag(const QString &name, const QString &value);
bool registerAudioGroup(const QString &);
void handleConnectionIsUp();
@@ -58,7 +58,7 @@ signals:
void disconnectedFromManager();
private:
-
+
bool connected;
ResourceSet *resourceSet;
DBusConnection *dbusConnection;
@@ -68,6 +68,8 @@ private:
quint32 requestId;
QMap<quint32, resmsg_type_t> messageMap;
quint32 connectionMode;
+
+ bool sendAudioMessage(resmsg_t *message);
};
}
diff --git a/libresourceqt/src/resource-set.cpp b/libresourceqt/src/resource-set.cpp
index bbb8d6e..00a0293 100644
--- a/libresourceqt/src/resource-set.cpp
+++ b/libresourceqt/src/resource-set.cpp
@@ -10,7 +10,7 @@ ResourceSet::ResourceSet(const QString &applicationClass, QObject * parent)
pendingAudioGroup(true), pendingAudioStream(true), pendingAudioPid(true)
{
identifier = (quint32)this;
- memset(resourceSet, 0, sizeof(QPointer<Resource *>)*NumberOfTypes);
+ memset(resourceSet, 0, sizeof(QPointer<Resource *>)*NumberOfTypes);
}
ResourceSet::~ResourceSet()
@@ -19,7 +19,7 @@ ResourceSet::~ResourceSet()
delete resourceSet[i];
}
resourceEngine->disconnect(this);
- resourceEngine->disconnectFromManager();
+// resourceEngine->disconnectFromManager();
delete resourceEngine;
}
@@ -29,7 +29,7 @@ bool ResourceSet::initialize()
if (resourceEngine == NULL) {
return false;
}
- QObject::connect(resourceEngine, SIGNAL(connectedToManager()),
+ QObject::connect(resourceEngine, SIGNAL(connectedToManager()),
this, SLOT(connectedHandler()));
QObject::connect(resourceEngine, SIGNAL(resourcesGranted(quint32)),
this, SLOT(handleGranted(quint32)));
@@ -58,14 +58,17 @@ void ResourceSet::addResource(Resource *resource)
qDebug("audioResource... %p", resource);
audioResource = static_cast<AudioResource *>(resource);
QObject::connect(audioResource, SIGNAL(pidChanged(quint32)),
- this, SLOT(handleAudioPidChange(quint32)));
+ this, SLOT(handleAudioPidChange(quint32)));
QObject::connect(audioResource, SIGNAL(audioGroupChanged(const QString &)),
- this, SLOT(handleAudioGroupChange(QString)));
- QObject::connect(audioResource, SIGNAL(streamTagChanged(const QString &)),
- this, SLOT(handleAudioStreamTagChanged(const QString &)));
- pendingAudioStream = true;
- pendingAudioGroup = true;
- pendingAudioPid = true;
+ this, SLOT(handleAudioGroupChange(QString)));
+ QObject::connect(audioResource, SIGNAL(streamTagChanged(const QString &, const QString &)),
+ this, SLOT(handleAudioStreamTagChanged(const QString &, const QString &)));
+ if(audioResource->streamTagIsSet())
+ pendingAudioStream = true;
+ if(audioResource->audioGroupIsSet())
+ pendingAudioGroup = true;
+ if(audioResource->processID() > 0)
+ pendingAudioPid = true;
}
delete resourceSet[resource->type()];
resourceSet[resource->type()] = resource;
@@ -126,7 +129,6 @@ QList<Resource *> ResourceSet::resources() const
Resource * ResourceSet::resource(ResourceType type) const
{
- qDebug("returning %p (%p), audioResource = %p", resourceSet[type], &resourceSet[type], audioResource);
return resourceSet[type];
}
@@ -249,7 +251,7 @@ void ResourceSet::handleReleased()
resourceSet[i]->unsetGranted();
}
}
- emit resourcesReleased();
+ emit resourcesReleased();
}
void ResourceSet::handleDeny()
@@ -277,7 +279,7 @@ void ResourceSet::handleResourcesLost(quint32 lostResourcesBitmask)
void ResourceSet::handleResourcesBecameAvailable(quint32 availableResources)
{
QList<ResourceType> listOfResources;
- for(int i=0;i < NumberOfTypes; i++) {
+ for (int i=0;i < NumberOfTypes; i++) {
ResourceType type = (ResourceType)i;
quint32 bitmask = resourceTypeToLibresourceType(type);
if ((bitmask & availableResources) == bitmask) {
@@ -289,15 +291,21 @@ void ResourceSet::handleResourcesBecameAvailable(quint32 availableResources)
void ResourceSet::handleAudioPidChange(quint32 newPid)
{
- if(initialized && resourceEngine->isConnectedToManager()) {
+ qDebug("Audio renderer PID = %u", newPid);
+ if (initialized && resourceEngine->isConnectedToManager()) {
+ qDebug("registering new PID");
resourceEngine->registerAudioPid(newPid);
}
+ else {
+ qDebug("registering PID later...");
+ pendingAudioPid = true;
+ }
}
void ResourceSet::handleAudioGroupChange(const QString &newGroup)
{
qDebug() << "Audio group changed to: " << newGroup;
- if(initialized && resourceEngine->isConnectedToManager()) {
+ if (initialized && resourceEngine->isConnectedToManager()) {
qDebug("registering new audio group");
resourceEngine->registerAudioGroup(newGroup);
}
@@ -307,10 +315,12 @@ void ResourceSet::handleAudioGroupChange(const QString &newGroup)
}
}
-void ResourceSet::handleAudioStreamTagChanged(const QString &newTag)
+void ResourceSet::handleAudioStreamTagChanged(const QString &name, const QString &value)
{
- if(initialized && resourceEngine->isConnectedToManager()) {
- resourceEngine->registerAudioStreamTag(newTag);
+ if (initialized && resourceEngine->isConnectedToManager()) {
+ resourceEngine->registerAudioStreamTag(name, value);
+ }
+ else {
+ pendingAudioStream = true;
}
}
-