@startuml
class DrmManagerClient {}
class DrmManagerClientImpl {}
class DrmManagerService {}
class DrmManager {}
class IDrmEngine {}
class DrmManagerBase {}
class WIDEVIEN_DrmManagerBase {}
class PLAYREADY_DrmManagerBase {}
class XXX_DrmManagerBase {}
class TPluginManager {}
DrmManagerClient *--> DrmManagerClientImpl
DrmManagerClientImpl *--> DrmManagerService
DrmManagerService *--> DrmManager
DrmManager *--> TPluginManager
TPluginManager "1"*-->"many" IDrmEngine
IDrmEngine <|-- DrmManagerBase
DrmManagerBase <|-- WIDEVIEN_DrmManagerBase
DrmManagerBase <|-- PLAYREADY_DrmManagerBase
DrmManagerBase <|-- XXX_DrmManagerBase
@enduml