Enigma2: eServiceCenter - opis i wykorzystanie

, czwartek, 20 września 2012

W 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.
    fmtwymaganyokreślenie formatu i porządku zwracanych danych. Możliwe opcje to:
    RService Reference (as swig object .. this is very slow)
    SService Reference (as python string object .. same as ref.toString())
    CService Reference (as python string object .. same as ref.toCompareString())
    NService Name (as python string object)
    sortopcjonalnyokreś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

GlossyBlue Blogger by Black Quanta. Theme & Icons by N.Design Studio
Entries RSS Comments RSS