summaryrefslogtreecommitdiff
path: root/AudioManagerDeamon/HookEngine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'AudioManagerDeamon/HookEngine.cpp')
-rw-r--r--AudioManagerDeamon/HookEngine.cpp341
1 files changed, 201 insertions, 140 deletions
diff --git a/AudioManagerDeamon/HookEngine.cpp b/AudioManagerDeamon/HookEngine.cpp
index eeb469d..c03eadc 100644
--- a/AudioManagerDeamon/HookEngine.cpp
+++ b/AudioManagerDeamon/HookEngine.cpp
@@ -25,293 +25,354 @@
#include "HookEngine.h"
-BaseHook::BaseHook() {}
+BaseHook::BaseHook() {
+}
-BaseHook::~BaseHook() {}
+BaseHook::~BaseHook() {
+}
-HookHandler::HookHandler() {}
+HookHandler::HookHandler() {
+}
-HookHandler::~HookHandler() {}
+HookHandler::~HookHandler() {
+}
void BaseHook::registerAudioManagerCore(AudioManagerCore* core) {
- m_core=core;
+ m_core = core;
}
genError_t BaseHook::registerHookEngine(HookHandler* engine) {
- m_hookhandler=engine;
+ m_hookhandler = engine;
return GEN_OK;
}
-genError_t HookHandler::registerHook(hookprio_t prio, genHook_t hookType, BaseHook* hookClass) {
+genError_t HookHandler::registerHook(hookprio_t prio, genHook_t hookType,
+ BaseHook* hookClass) {
prioList newEntry;
QList<prioList>* list;
- if (prio<0 || prio >100) {
+ if (prio < 0 || prio > 100) {
DLT_LOG(AudioManager,DLT_LOG_WARN, DLT_STRING("Register Hook: Priority out of range: "), DLT_INT(prio));
return GEN_OUTOFRANGE;
}
- newEntry.prio=prio;
- newEntry.hook=hookClass;
+ newEntry.prio = prio;
+ newEntry.hook = hookClass;
switch (hookType) {
case HOOK_DOMAIN_REGISTER:
- list=&m_domainRegisterList;
+ list = &m_domainRegisterList;
break;
case HOOK_DOMAIN_DEREGISTER:
- list=&m_domainDeregisterList;
+ list = &m_domainDeregisterList;
break;
case HOOK_SINK_REGISTER:
- list=&m_sinkRegisterList;
+ list = &m_sinkRegisterList;
break;
case HOOK_SINK_DEREGISTER:
- list=&m_sinkDeregisterList;
+ list = &m_sinkDeregisterList;
break;
case HOOK_SOURCE_REGISTER:
- list=&m_sourceRegisterList;
+ list = &m_sourceRegisterList;
break;
case HOOK_SOURCE_DEREGISTER:
- list=&m_sourceDeregisterList;
+ list = &m_sourceDeregisterList;
break;
case HOOK_GATEWAY_REGISTER:
- list=&m_gatewayRegisterList;
+ list = &m_gatewayRegisterList;
break;
case HOOK_GATEWAY_DERGISTER:
- list=&m_gatewayDeregisterList;
+ list = &m_gatewayDeregisterList;
break;
case HOOK_ROUTING_REQUEST:
- list=&m_routingRequestList;
+ list = &m_routingRequestList;
break;
case HOOK_ROUTING_COMPLETE:
- list=&m_routingCompleteList;
+ list = &m_routingCompleteList;
break;
case HOOK_SYSTEM_READY:
- list=&m_systemReadyList;
+ list = &m_systemReadyList;
break;
case HOOK_SYSTEM_DOWN:
- list=&m_systemDownList;
+ list = &m_systemDownList;
break;
case HOOK_VOLUME_CHANGE:
- list=&m_volumeChangeList;
+ list = &m_volumeChangeList;
break;
case HOOK_MUTE_SOURCE:
- list=&m_muteSourceList;
+ list = &m_muteSourceList;
break;
case HOOK_UNMUTE_SOURCE:
- list=&m_unmuteSourceList;
+ list = &m_unmuteSourceList;
break;
case HOOK_MUTE_SINK:
- list=&m_muteSinkList;
+ list = &m_muteSinkList;
break;
case HOOK_UNMUTE_SINK:
- list=&m_unmuteSinkList;
+ list = &m_unmuteSinkList;
break;
case HOOK_USER_CONNECTION_REQUEST:
- list=&m_userConnectionRequestList;
+ list = &m_userConnectionRequestList;
break;
case HOOK_USER_DISCONNECTION_REQUEST:
- list=&m_userDisconnectionReuestList;
+ list = &m_userDisconnectionReuestList;
break;
case HOOK_CONNECTION_REQUEST:
- list=&m_connectionRequestList;
+ list = &m_connectionRequestList;
break;
case HOOK_DISCONNECTION_REQUEST:
- list=&m_disconnectionReuestList;
+ list = &m_disconnectionReuestList;
break;
case HOOK_INTERRUPT_REQUEST:
- list=&m_interruptRequestList;
+ list = &m_interruptRequestList;
break;
default:
- DLT_LOG(AudioManager,DLT_LOG_WARN, DLT_STRING("Trying to register unknown Hook "));
+ DLT_LOG(AudioManager,DLT_LOG_WARN, DLT_STRING("Trying to register unknown Hook "))
+ ;
return GEN_OUTOFRANGE;
}
- int index=0;
- foreach(prioList l,*list) {
- if(l.prio>prio) {
- index++;
+ int index = 0;
+ foreach(prioList l,*list)
+ {
+ if (l.prio > prio) {
+ index++;
+ }
}
- }
- list->insert(index,newEntry);
+ list->insert(index, newEntry);
//TODO test the sorting of the hooks with more than one plugin
return GEN_OK;
}
genError_t HookHandler::fireHookDomainRegister(char* Name, domain_t ID) {
- foreach (prioList hook,m_domainRegisterList) {
- if (hook.hook->hookDomainRegister(Name,ID)==HOOK_STOP) break;
- }
+ foreach (prioList hook,m_domainRegisterList)
+ {
+ if (hook.hook->hookDomainRegister(Name, ID) == HOOK_STOP)
+ break;
+ }
return GEN_OK;
}
-genError_t HookHandler::fireHookDomainDeregister (domain_t ID) {
- foreach (prioList hook,m_domainDeregisterList) {
- if (hook.hook->hookDomainDeregister(ID)==HOOK_STOP) break;
- }
+genError_t HookHandler::fireHookDomainDeregister(domain_t ID) {
+ foreach (prioList hook,m_domainDeregisterList)
+ {
+ if (hook.hook->hookDomainDeregister(ID) == HOOK_STOP)
+ break;
+ }
return GEN_OK;
}
-genError_t HookHandler::fireHookSinkRegister (char* Name, sink_t ID) {
- foreach (prioList hook,m_sinkRegisterList) {
- if (hook.hook->hookSinkRegister(Name,ID)==HOOK_STOP) break;
- }
+genError_t HookHandler::fireHookSinkRegister(char* Name, sink_t ID) {
+ foreach (prioList hook,m_sinkRegisterList)
+ {
+ if (hook.hook->hookSinkRegister(Name, ID) == HOOK_STOP)
+ break;
+ }
return GEN_OK;
}
-genError_t HookHandler::fireHookSinkDeregister (sink_t ID) {
- foreach (prioList hook,m_sinkDeregisterList) {
- if (hook.hook->hookSinkDeregister(ID)==HOOK_STOP) break;
- }
+genError_t HookHandler::fireHookSinkDeregister(sink_t ID) {
+ foreach (prioList hook,m_sinkDeregisterList)
+ {
+ if (hook.hook->hookSinkDeregister(ID) == HOOK_STOP)
+ break;
+ }
return GEN_OK;
}
-genError_t HookHandler::fireHookSourceRegister (char* Name, source_t ID) {
- foreach (prioList hook,m_sourceRegisterList) {
- if (hook.hook->hookSinkRegister(Name,ID)==HOOK_STOP) break;
- }
+genError_t HookHandler::fireHookSourceRegister(char* Name, source_t ID) {
+ foreach (prioList hook,m_sourceRegisterList)
+ {
+ if (hook.hook->hookSinkRegister(Name, ID) == HOOK_STOP)
+ break;
+ }
return GEN_OK;
}
-genError_t HookHandler::fireHookSourceDeregister (source_t ID) {
- foreach (prioList hook,m_sourceDeregisterList) {
- if (hook.hook->hookSourceDeregister(ID)==HOOK_STOP) break;
- }
+genError_t HookHandler::fireHookSourceDeregister(source_t ID) {
+ foreach (prioList hook,m_sourceDeregisterList)
+ {
+ if (hook.hook->hookSourceDeregister(ID) == HOOK_STOP)
+ break;
+ }
return GEN_OK;
}
-genError_t HookHandler::fireHookGatewayRegister (char* Name, gateway_t ID) {
- foreach (prioList hook,m_gatewayRegisterList) {
- if (hook.hook->hookGatewayRegister(Name,ID)==HOOK_STOP) break;
- }
+genError_t HookHandler::fireHookGatewayRegister(char* Name, gateway_t ID) {
+ foreach (prioList hook,m_gatewayRegisterList)
+ {
+ if (hook.hook->hookGatewayRegister(Name, ID) == HOOK_STOP)
+ break;
+ }
return GEN_OK;
}
-genError_t HookHandler::fireHookGatewayDeregister (gateway_t ID) {
- foreach (prioList hook,m_gatewayDeregisterList) {
- if (hook.hook->hookGatewayDeregister(ID)==HOOK_STOP) break;
- }
+genError_t HookHandler::fireHookGatewayDeregister(gateway_t ID) {
+ foreach (prioList hook,m_gatewayDeregisterList)
+ {
+ if (hook.hook->hookGatewayDeregister(ID) == HOOK_STOP)
+ break;
+ }
return GEN_OK;
}
-genError_t HookHandler::fireHookSystemReady (void) {
- foreach (prioList hook,m_systemReadyList) {
- if (hook.hook->hookSystemReady()==HOOK_STOP) break;
- }
+genError_t HookHandler::fireHookSystemReady(void) {
+ foreach (prioList hook,m_systemReadyList)
+ {
+ if (hook.hook->hookSystemReady() == HOOK_STOP)
+ break;
+ }
return GEN_OK;
}
-genError_t HookHandler::fireHookSystemDown (void) {
- foreach (prioList hook,m_systemDownList) {
- if (hook.hook->hookSystemDown()==HOOK_STOP) break;
- }
+genError_t HookHandler::fireHookSystemDown(void) {
+ foreach (prioList hook,m_systemDownList)
+ {
+ if (hook.hook->hookSystemDown() == HOOK_STOP)
+ break;
+ }
return GEN_OK;
}
-genError_t HookHandler::fireHookConnectionRequest (source_t SourceID, sink_t SinkID) {
- foreach (prioList hook,m_connectionRequestList) {
- if (hook.hook->hookConnectionRequest(SourceID,SinkID)==HOOK_STOP) break;
- }
+genError_t HookHandler::fireHookConnectionRequest(source_t SourceID,
+ sink_t SinkID) {
+ foreach (prioList hook,m_connectionRequestList)
+ {
+ if (hook.hook->hookConnectionRequest(SourceID, SinkID) == HOOK_STOP)
+ break;
+ }
return GEN_OK;
}
-genError_t HookHandler::fireHookDisconnectionRequest (connection_t ID) {
- foreach (prioList hook,m_disconnectionReuestList) {
- if (hook.hook->hookDisconnectionRequest(ID)==HOOK_STOP) break;
- }
+genError_t HookHandler::fireHookDisconnectionRequest(connection_t ID) {
+ foreach (prioList hook,m_disconnectionReuestList)
+ {
+ if (hook.hook->hookDisconnectionRequest(ID) == HOOK_STOP)
+ break;
+ }
return GEN_OK;
}
-genError_t HookHandler::fireHookUserConnectionRequest (Queue* queue, source_t SourceID, sink_t SinkID) {
- foreach (prioList hook,m_userConnectionRequestList) {
- if (hook.hook->hookUserConnectionRequest(queue,SourceID,SinkID)==HOOK_STOP) break;
- }
+genError_t HookHandler::fireHookUserConnectionRequest(Queue* queue,
+ source_t SourceID, sink_t SinkID) {
+ foreach (prioList hook,m_userConnectionRequestList)
+ {
+ if (hook.hook->hookUserConnectionRequest(queue, SourceID, SinkID)
+ == HOOK_STOP)
+ break;
+ }
return GEN_OK;
}
-genError_t HookHandler::fireHookUserDisconnectionRequest (Queue* queue, connection_t connID) {
- foreach (prioList hook,m_userDisconnectionReuestList) {
- if (hook.hook->hookUserDisconnectionRequest(queue, connID)==HOOK_STOP) break;
- }
+genError_t HookHandler::fireHookUserDisconnectionRequest(Queue* queue,
+ connection_t connID) {
+ foreach (prioList hook,m_userDisconnectionReuestList)
+ {
+ if (hook.hook->hookUserDisconnectionRequest(queue, connID)
+ == HOOK_STOP)
+ break;
+ }
return GEN_OK;
}
-genError_t HookHandler::fireHookRoutingRequest (bool onlyfree,source_t source, sink_t sink,QList<genRoute_t>* ReturnList) {
- foreach (prioList hook,m_routingRequestList) {
- if (hook.hook->hookRoutingRequest(onlyfree,source,sink,ReturnList)==HOOK_STOP) break;
- }
+genError_t HookHandler::fireHookRoutingRequest(bool onlyfree, source_t source,
+ sink_t sink, QList<genRoute_t>* ReturnList) {
+ foreach (prioList hook,m_routingRequestList)
+ {
+ if (hook.hook->hookRoutingRequest(onlyfree, source, sink,
+ ReturnList) == HOOK_STOP)
+ break;
+ }
return GEN_OK;
}
//todo change type
-genError_t HookHandler::fireHookRoutingComplete (genRoute_t route) {
- foreach (prioList hook,m_routingCompleteList) {
- if (hook.hook->hookRoutingComplete(route)==HOOK_STOP) break;
- }
+genError_t HookHandler::fireHookRoutingComplete(genRoute_t route) {
+ foreach (prioList hook,m_routingCompleteList)
+ {
+ if (hook.hook->hookRoutingComplete(route) == HOOK_STOP)
+ break;
+ }
return GEN_OK;
}
-genError_t HookHandler::fireHookVolumeChange (volume_t newVolume, sink_t SinkID) {
- foreach (prioList hook,m_volumeChangeList) {
- if (hook.hook->hookVolumeChange(newVolume,SinkID)==HOOK_STOP) break;
- }
+genError_t HookHandler::fireHookVolumeChange(volume_t newVolume, sink_t SinkID) {
+ foreach (prioList hook,m_volumeChangeList)
+ {
+ if (hook.hook->hookVolumeChange(newVolume, SinkID) == HOOK_STOP)
+ break;
+ }
return GEN_OK;
}
-genError_t HookHandler::fireHookMuteSource (source_t ID) {
- foreach (prioList hook,m_muteSourceList) {
- if (hook.hook->hookMuteSource(ID)==HOOK_STOP) break;
- }
+genError_t HookHandler::fireHookMuteSource(source_t ID) {
+ foreach (prioList hook,m_muteSourceList)
+ {
+ if (hook.hook->hookMuteSource(ID) == HOOK_STOP)
+ break;
+ }
return GEN_OK;
}
-genError_t HookHandler::fireHookUnmuteSource (source_t ID) {
- foreach (prioList hook,m_unmuteSourceList) {
- if (hook.hook->hookUnmuteSource(ID)==HOOK_STOP) break;
- }
+genError_t HookHandler::fireHookUnmuteSource(source_t ID) {
+ foreach (prioList hook,m_unmuteSourceList)
+ {
+ if (hook.hook->hookUnmuteSource(ID) == HOOK_STOP)
+ break;
+ }
return GEN_OK;
}
-genError_t HookHandler::fireHookMuteSink (sink_t ID) {
- foreach (prioList hook,m_muteSinkList) {
- if (hook.hook->hookMuteSink(ID)==HOOK_STOP) break;
- }
+genError_t HookHandler::fireHookMuteSink(sink_t ID) {
+ foreach (prioList hook,m_muteSinkList)
+ {
+ if (hook.hook->hookMuteSink(ID) == HOOK_STOP)
+ break;
+ }
return GEN_OK;
}
-genError_t HookHandler::fireHookUnmuteSink (sink_t ID) {
- foreach (prioList hook,m_unmuteSinkList) {
- if (hook.hook->hookUnmuteSink(ID)==HOOK_STOP) break;
- }
+genError_t HookHandler::fireHookUnmuteSink(sink_t ID) {
+ foreach (prioList hook,m_unmuteSinkList)
+ {
+ if (hook.hook->hookUnmuteSink(ID) == HOOK_STOP)
+ break;
+ }
return GEN_OK;
}
-genError_t HookHandler::fireHookInterruptRequest (Queue* queue, source_t interruptSource, sink_t sink, genInt_t* interruptID) {
- foreach (prioList hook,m_interruptRequestList) {
- if (hook.hook->hookInterruptRequest(queue,interruptSource, sink, interruptID)==HOOK_STOP) break;
- }
+genError_t HookHandler::fireHookInterruptRequest(Queue* queue,
+ source_t interruptSource, sink_t sink, genInt_t* interruptID) {
+ foreach (prioList hook,m_interruptRequestList)
+ {
+ if (hook.hook->hookInterruptRequest(queue, interruptSource, sink,
+ interruptID) == HOOK_STOP)
+ break;
+ }
return GEN_OK;
}
void HookHandler::registerAudioManagerCore(AudioManagerCore* core) {
- m_core=core;
+ m_core = core;
}
void HookHandler::loadHookPlugins() {
- BaseHook *b=NULL;
- foreach (QObject *plugin, QPluginLoader::staticInstances()) {
- HookPluginFactory* HookPluginFactory_ = qobject_cast<HookPluginFactory *>(plugin);
- if (HookPluginFactory_) {
- b=HookPluginFactory_->returnInstance();
- b->registerHookEngine(this);
- b->registerAudioManagerCore(m_core);
- b->InitHook();
- char pName[40];
- if (b->returnPluginName(pName)==GEN_OK) {
- DLT_LOG(AudioManager,DLT_LOG_INFO, DLT_STRING("Registered Hook Plugin:"), DLT_STRING(pName));
+ BaseHook *b = NULL;
+ foreach (QObject *plugin, QPluginLoader::staticInstances())
+ {
+ HookPluginFactory* HookPluginFactory_ = qobject_cast<
+ HookPluginFactory *> (plugin);
+ if (HookPluginFactory_) {
+ b = HookPluginFactory_->returnInstance();
+ b->registerHookEngine(this);
+ b->registerAudioManagerCore(m_core);
+ b->InitHook();
+ char pName[40];
+ if (b->returnPluginName(pName) == GEN_OK) {
+ DLT_LOG(AudioManager,DLT_LOG_INFO, DLT_STRING("Registered Hook Plugin:"), DLT_STRING(pName));
+ }
}
}
- }
}
-