@startuml BtIf
class BtModulebase
{
+ void post(BtTaskBase* task)
- std::shared_ptr<BtSpThread> itsThread
}
class SpThread
{
- std::vector mReqList
+ void threadLoop()
- std::shared_ptr<BtTaskBase> curTask
}
class BtSpThread
{
+ void postRequest(BtTaskBase* req)
}
BtSpThread --|> SpThread
BtSpThread -l-* BtModulebase
class BtHfpModule
class BtAvpModule
class BtBleModule
class BtGenModule
class BtAvpSrcModule
class BtPbdlPhotoModule
class BtGenSearchModule
class BtHidhModule
class BtPbdlModule
BtHfpModule -u-|> BtModulebase
BtAvpModule -u-|> BtModulebase
BtBleModule -u-|> BtModulebase
BtGenModule -u-|> BtModulebase
BtAvpSrcModule -u-|> BtModulebase
BtPbdlPhotoModule -u-|> BtModulebase
BtGenSearchModule -u-|> BtModulebase
BtHidhModule -u-|> BtModulebase
BtPbdlModule -u-|> BtModulebase
class BtTaskBase
{
+ virtual void doAction(SpThread* thread)
}
BtTaskBase -r-* SpThread
class BtSingleTask
{
+ void doAction() override
+ virtual void execute()
}
class BtHfpDialOutTask
{
+ void execute() override
}
class BtPbdlStoreContactPictureTask
{
+ void execute() override
}
class BtPbdlUpdateFavouriteContactTask
{
+ void execute() override
}
class BtHfpCancelAllTask
{
+ void execute() override
}
class BtAvCancelAvrcpVersionTask
{
+ void execute() override
}
class BtBleAdvEnableTask
{
+ void execute() override
}
BtHfpModule ..> BtTaskBase
BtAvpModule ..> BtTaskBase
BtBleModule ..> BtTaskBase
BtGenModule ..> BtTaskBase
BtAvpSrcModule ..> BtTaskBase
BtPbdlPhotoModule ..> BtTaskBase
BtGenSearchModule ..> BtTaskBase
BtHidhModule ..> BtTaskBase
BtPbdlModule ..> BtTaskBase
BtTaskBase <|-- BtSingleTask
BtHfpDialOutTask -u-|> BtSingleTask
BtPbdlStoreContactPictureTask -u-|> BtSingleTask
BtPbdlUpdateFavouriteContactTask -u-|> BtSingleTask
BtHfpCancelAllTask -u-|> BtSingleTask
BtAvCancelAvrcpVersionTask -u-|> BtSingleTask
BtBleAdvEnableTask -u-|> BtSingleTask
@enduml
样式如下图