Enigma2: eServiceCenter - opis i wykorzystanie
Enigma2, Python czwartek, 20 września 2012W tym artykule umieszczę opis API i wykorzystania dla klasy eServiceCenter.
Klasa eServiceCenter ma zdefiniowaną jedną statyczną funkcję getInstance(), która zwraca obiekt klasy iServiceHandlerPtr.
Obiekt iServiceHandlerPtr daje dostęp do interfejsów umożliwiających określoną obsługę przekazanego jako referencja serwisu:
- iPlayableServicePtr play(eServiceReference ref)
- iRecordableServicePtr record(eServiceReference ref)
- iListableServicePtr list(eServiceReference ref)
- iStaticServiceInformationPtr info(eServiceReference ref)
- iServiceOfflineOperationsPtr offlineOperations(eServiceReference ref)
Opis klasy iListableServicePtr, która daje możliwość obsługi serwisu jako listy:
- [][] getContent(STRING fmt, BOOLEAN sort): pobranie listy podserwisów danego serwisu np. zwraca kanały zgrupowane w bukiet. W przypadku, gdy wybrano zwracanie dokładnie jednej wartości odpowiadającej serwisowi w definicji formatu, każda wartość jest zwracana bezpośrednio jako pozycja listy wynikowej. W przypadku, gdy wybrano zwracanie większej liczby wartości, rezultat składa się z listy tablic (tuple) wartości.
fmt wymagany określenie formatu i porządku zwracanych danych. Możliwe opcje to:
R Service Reference (as swig object .. this is very slow) S Service Reference (as python string object .. same as ref.toString()) C Service Reference (as python string object .. same as ref.toCompareString()) N Service Name (as python string object) sort opcjonalny określa czy wyniki mają zostać posortowane - domyślnie False - eServiceReference getNext(): zwarca informację o następnym serwisie w ramach kursora / iteratora dla listy
- NUMBER compareLessEqual(eServiceReference ref1, eServiceReference ref2): porównuje ze sobą dwa serwisy i zawraca rezultat w postacji wartości 1 lub 0, gdzie 0 oznacza równość. Priorytet mają katalogi.
- iMutableServiceList startEdit(): rozpoczyna edycję serwisu katalogowego. Zwraca interfejs umożliwiający akcje edycyjne.
Opis klasy iStaticServiceInformationPtr:
- STRING getName(eServiceReference ref)
- NUMBER getLength(eServiceReference ref)
- eServiceEvent getEvent(eServiceReference ref, NUMBER start_time=-1)
- BOOLEAN isPlayable(eServiceReference ref, eServiceReference ignore, BOOLEAN simulate=false)
- NUMBER getInfo(eServiceReference ref, int w)
- STRING getInfoString(eServiceReference ref, int w): pobierz informację o parametrze serwisu danym jako 'w' jako String. Wartości parametru 'w' zdefiniowane są w klasie iServiceInformation
- getInfoObject(eServiceReference ref, int w)
- BOOLEAN setInfo(eServiceReference ref, int w, int v)
- BOOLEAN setInfoString(eServiceReference ref, int w, STRING v)
Opis klasy iServiceOfflineOperationsPtr:
Opis klasy iRecordableServicePtr:
Opis klasy iPlayableServicePtr:
- start()
- stop()
- setTarget(int target)
- iSeekableServicePtr seek()
- iPauseableServicePtr pause()
- iServiceInformationPtr info()
- iAudioTrackSelectionPtr audioTracks()
- iAudioChannelSelectionPtr audioChannel()
- iSubserviceListPtr subServices()
- iFrontendInformationPtr frontendInfo()
- iTimeshiftServicePtr timeshift()
- iCueSheetPtr cueSheet()
- iSubtitleOutputPtr subtitle()
- iAudioDelayPtr audioDelay()
- iRdsDecoderPtr rdsDecoder()
- iStreamableServicePtr stream()
- iStreamedServicePtr streamed()
- iServiceKeysPtr keys()
Opis klasy iMutableServiceListPtr, która daje możliwość obsługi serwisu jako listy:
- flushChanges(): zastosowanie wprowadzonych zmian
- BOOLEAN addService(eServiceReference ref, eServiceReference before): dodanie serwisu do listy przed serwisem 'before'. Funkcja zwraca informację czy powiodło się dodanie serwisu
- BOOLEAN removeService(eServiceReference ref): usunięcie serwisu z listy. Zwraca czy powiodło się usunięcie
- BOOLEAN moveService(eServiceReference ref, NUMBER pos): przesuwa serwis na określoną drugim parameterem pozycję listy
- BOOLEAN setListName(STRING name): ustawienie nazwy dla listy
0 komentarze:
Prześlij komentarz