From a36aef2b7c5128785a60213a6607191a8bfb1ecf Mon Sep 17 00:00:00 2001 From: Wolf Bergenheim Date: Thu, 18 Feb 2010 12:52:29 +0200 Subject: astyled the code --- libresourceqt/src/audio-resource.cpp | 39 ++++++++++++++++++++----- libresourceqt/src/resource-engine.cpp | 55 ++++++++++++++++++++++++----------- libresourceqt/src/resource-engine.h | 6 ++-- libresourceqt/src/resource-set.cpp | 48 ++++++++++++++++++------------ 4 files changed, 103 insertions(+), 45 deletions(-) (limited to 'libresourceqt/src') 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 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)*NumberOfTypes); + memset(resourceSet, 0, sizeof(QPointer)*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(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 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 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; } } - -- cgit v1.2.3