def __init__(self, loop, session, details, airplay):
super().__init__()<EOL>self._session = session<EOL>self._dmap_service = details.get_service(const.PROTOCOL_DMAP)<EOL>daap_http = HttpSession(<EOL>session,<EOL>'<STR_LIT>'.format(details.address, self._dmap_service.port))<EOL>self._requester = DaapRequester(<EOL>daap_http, self._dmap_service.device_credentials)<EOL>self._apple_tv = BaseDmapAppleTV(self._requester)<EOL>self._dmap_remote = DmapRemoteControl(self._apple_tv)<EOL>self._dmap_metadata = DmapMetadata(self._apple_tv, daap_http)<EOL>self._dmap_push_updater = DmapPushUpdater(loop, self._apple_tv)<EOL>self._dmap_pairing = pairing.DmapPairingHandler(loop)<EOL>self._airplay = airplay<EOL>
Initialize a new Apple TV.