/** * @param kResource $resource * @param entry $dbEntry * @param asset $asset */ protected function attachResource(kResource $resource, entry $dbEntry, asset $asset = null) { $service = null; switch ($dbEntry->getType()) { case entryType::MEDIA_CLIP: $service = new MediaService(); $service->initService('media', 'media', $this->actionName); break; case entryType::MIX: $service = new MixingService(); $service->initService('mixing', 'mixing', $this->actionName); break; case entryType::PLAYLIST: $service = new PlaylistService(); $service->initService('playlist', 'playlist', $this->actionName); break; case entryType::DATA: $service = new DataService(); $service->initService('data', 'data', $this->actionName); break; case entryType::LIVE_STREAM: $service = new LiveStreamService(); $service->initService('liveStream', 'liveStream', $this->actionName); break; default: throw new KalturaAPIException(KalturaErrors::ENTRY_TYPE_NOT_SUPPORTED, $dbEntry->getType()); } $service->attachResource($resource, $dbEntry, $asset); }