Codebase list kodi-pvr-nextpvr / a7e8578
Import upstream version 20.3.1+git20221209.1.b88472c+ds1 Debian Janitor 1 year, 4 months ago
6 changed file(s) with 142 addition(s) and 30 deletion(s). Raw diff Collapse all Expand all
0 cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
1 cmake_policy(VERSION 2.6)
2
3 project(tinyxml2)
4 include(GNUInstallDirs)
5 #enable_testing()
6
7 #CMAKE_BUILD_TOOL
8
9 ################################
10 # set lib version here
11
12 set(GENERIC_LIB_VERSION "1.0.12")
13 set(GENERIC_LIB_SOVERSION "1")
14
15
16 ################################
17 # Add common source
18
19 include_directories("${CMAKE_CURRENT_SOURCE_DIR}/.")
20
21 ################################
22 # Add custom target to copy all data
23
24 set(TARGET_DATA_COPY DATA_COPY)
25 if(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR})
26 add_custom_target(
27 ${TARGET_DATA_COPY}
28 COMMAND ${CMAKE_COMMAND} -E echo "In source build")
29 else(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR})
30 make_directory(${CMAKE_CURRENT_BINARY_DIR}/resources/)
31 add_custom_target(
32 ${TARGET_DATA_COPY}
33 COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/resources/dream.xml ${CMAKE_CURRENT_BINARY_DIR}/resources/
34 COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/resources/empty.xml ${CMAKE_CURRENT_BINARY_DIR}/resources/
35 COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/resources/utf8test.xml ${CMAKE_CURRENT_BINARY_DIR}/resources/
36 COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/resources/utf8testverify.xml ${CMAKE_CURRENT_BINARY_DIR}/resources/)
37 endif(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR})
38
39 ################################
40 # Add definitions
41
42 if(MSVC)
43 add_definitions(-D_CRT_SECURE_NO_WARNINGS)
44 endif(MSVC)
45
46 ################################
47 # Add targets
48 set(BUILD_STATIC_LIBS ON CACHE BOOL "Set to ON to build static libraries")
49 if(BUILD_STATIC_LIBS)
50 add_library(tinyxml2 STATIC tinyxml2.cpp tinyxml2.h)
51 else(BUILD_STATIC_LIBS)
52 add_library(tinyxml2 SHARED tinyxml2.cpp tinyxml2.h)
53 endif(BUILD_STATIC_LIBS)
54 set_target_properties(tinyxml2 PROPERTIES
55 VERSION "${GENERIC_LIB_VERSION}"
56 SOVERSION "${GENERIC_LIB_SOVERSION}")
57
58 add_executable(test xmltest.cpp)
59 add_dependencies(test tinyxml2)
60 add_dependencies(test ${TARGET_DATA_COPY})
61 target_link_libraries(test tinyxml2)
62
63
64 if(BUILD_STATIC_LIBS)
65 install(TARGETS tinyxml2
66 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
67 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
68 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
69 else(BUILD_STATIC_LIBS)
70 install(TARGETS tinyxml2
71 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
72 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
73 endif(BUILD_STATIC_LIBS)
74 install(FILES tinyxml2.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
75
76 foreach(p LIB INCLUDE)
77 set(var CMAKE_INSTALL_${p}DIR)
78 if(NOT IS_ABSOLUTE "${${var}}")
79 set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}")
80 endif()
81 endforeach()
82
83 configure_file(tinyxml2.pc.in tinyxml2.pc @ONLY)
84 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/tinyxml2.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
85
86 #add_test(test ${SAMPLE_NAME} COMMAND $<TARGET_FILE:${SAMPLE_NAME}>)
0 68ebd396a4220d5a9b5a621c6e9c66349c5cfdf5efaea3f16e3bb92e45f4e2a3
0 tinyxml2 https://github.com/leethomason/tinyxml2/archive/7.1.0.tar.gz
3232 <summary lang="es_AR">Front-end de Kodi para NextPVR</summary>
3333 <summary lang="es_ES">Front-end de Kodi para NextPVR</summary>
3434 <summary lang="es_MX">Kodi frontend para el NextPVR</summary>
35 <summary lang="et_EE">Kodi liides NextPVR'ile</summary>
35 <summary lang="et_EE">Kodi liides NextPVR&apos;ile</summary>
3636 <summary lang="fi_FI">Kodin NextPVR-asiakasohjelma</summary>
3737 <summary lang="fr_CA">Frontale Kodi pour NextPVR</summary>
38 <summary lang="fr_FR">Interface logicielle pour l'enregistreur vidéo NextPVR</summary>
38 <summary lang="fr_FR">Interface logicielle pour l&apos;enregistreur vidéo NextPVR</summary>
3939 <summary lang="gl_ES">Interface de Kodi para NextPVR</summary>
4040 <summary lang="he_IL">לקוח טלוויזיה חיה עבור NextPVR</summary>
4141 <summary lang="hr_HR">Kodi sučelje za NextPVR</summary>
7171 <summary lang="zh_TW">NextPVR的Kodi前端</summary>
7272 <description lang="af_ZA">NextPVR voorprogram. Ondersteun stroom van Lewendige TV &amp; Opnames, luister na Radio kanale en EPG.</description>
7373 <description lang="bg_BG">Клиент за „NextPVR“. Поддържа телевизия на живо и записване, слушане на радио канали и електронен програмен справочник.</description>
74 <description lang="ca_ES">Frontal de NextPVR. És compatible amb les transmissions en línia de TV en directe i enregistraments, escolta d'emissores de ràdio i guia electrònica de programació (EPG).</description>
74 <description lang="ca_ES">Frontal de NextPVR. És compatible amb les transmissions en línia de TV en directe i enregistraments, escolta d&apos;emissores de ràdio i guia electrònica de programació (EPG).</description>
7575 <description lang="cs_CZ">Rozhraní NextPVR. Podporuje streamování živého vysílání a nahrávek, poslech kanálů rádia a televizní program.</description>
76 <description lang="cy_GB">Blaen NextPVR. Mae'n cynnal ffrydio Teledu Byw a Recordiadau, gwrando ar sianeli Radio ac Amserlenni Rhaglenni Electronig.</description>
76 <description lang="cy_GB">Blaen NextPVR. Mae&apos;n cynnal ffrydio Teledu Byw a Recordiadau, gwrando ar sianeli Radio ac Amserlenni Rhaglenni Electronig.</description>
7777 <description lang="da_DK">NextPVR frontend; understøtter streaming af direkte tv og optagelser, radiokanaler og EPG.</description>
7878 <description lang="de_DE">NextPVR Oberfläche. Unterstützt Live TV &amp; Aufnahmen, Radiokanäle und EPG.</description>
7979 <description lang="el_GR">Frontend για το NextPVR. Υποστηρίζει ροές Live TV &amp; Εγγραφές, ακρόαση Ραδιοφώνου και EPG.</description>
8484 <description lang="es_AR">Front-end de NextPVR. Soporta transmisiones de TV en Vivo y Grabaciones, escuchar canales de Radio y Guía Electrónica de Programas (GEP).</description>
8585 <description lang="es_ES">Front-end de NextPVR. Soporta transmisiones de TV en Vivo y Grabaciones, escuchar canales de Radio y Guía Electrónica de Programas (EPG).</description>
8686 <description lang="es_MX">NextPVR frontend. Soporta transmisión de TV en directo y Grabaciones, escuchando canales de Radio y EPG.</description>
87 <description lang="et_EE">NextPVR'i liides. Toetab telekanalite striimimist ja salvestamist, raadio kuulamist ja elektroonilist saatekava.</description>
87 <description lang="et_EE">NextPVR&apos;i liides. Toetab telekanalite striimimist ja salvestamist, raadio kuulamist ja elektroonilist saatekava.</description>
8888 <description lang="fi_FI">NextPVR-asiakasohjelma. Tukee suorien tv-lähetysten ja tallennusten katsomista, radiokanavia, ohjelmaopasta ja ohjelmien ajastamista.</description>
8989 <description lang="fr_CA">Frontale de numériscope pour NextPVR, prenant en charge la diffusion en continu des télés en direct et les enregistrements, l’écoute de chaînes radio, et le GÉP.</description>
90 <description lang="fr_FR">Interface logicielle pour l'enregistreur vidéo (PVR) NextPVR. Gère la diffusion de la TV en direct et des enregistrements en direct, l'écoute de chaînes de radios et le guide électronique des programmes TV.</description>
90 <description lang="fr_FR">Interface logicielle pour l&apos;enregistreur vidéo (PVR) NextPVR. Gère la diffusion de la TV en direct et des enregistrements en direct, l&apos;écoute de chaînes de radios et le guide électronique des programmes TV.</description>
9191 <description lang="gl_ES">Interface de NextPVR. Compatíbel coa transmisión de TV en directo, gravacións, escoita de canles de radio e Guía.</description>
9292 <description lang="he_IL">לקוח טלוויזיה חיה של NextPVR. תומך בהזרמת שידורים חיים והקלטות, האזנה לרדיו, הצגת לוח שידורים ותזמון הקלטות.</description>
9393 <description lang="hr_HR">NextPVR sučelje. Podržava stremanje i snimanje TV programa, slušanje radio programa i elektronski programski vodič (EPG).</description>
9494 <description lang="hu_HU">NextPVR előtét. Élő adások, felvételek és rádiócsatornák támogatása EPG-vel.</description>
9595 <description lang="id_ID">Frontend NextPVR. Mendukung pengaliran Siaran TV langsung dan perekaman, mendengarkan radio dan EPG.</description>
9696 <description lang="is_IS">Framendi fyrir NextPVR. Styður streymi á beinum útsendingum og upptökum, hlustun á útvarpsrásir og rafræna sjónvarpsvísa. (EGP).</description>
97 <description lang="it_IT">Frontend NextPVR. Supporta lo streaming di Live TV, le Registrazioni, l'ascolto dei Canali Radio e l'EPG.</description>
97 <description lang="it_IT">Frontend NextPVR. Supporta lo streaming di Live TV, le Registrazioni, l&apos;ascolto dei Canali Radio e l&apos;EPG.</description>
9898 <description lang="ja_JP">NextPVR フロントエンドです。Live TV や録画番組のストリーミング、ラジオチャンネルの視聴、EPG をサポートしています。</description>
9999 <description lang="ko_KR">NextPVR 프론트엔드. 라이브 TV 스트리밍과 녹화, 라디오 청취, EPG를 지원합니다.</description>
100100 <description lang="lt_LT">NextPVR sąsaja remia transliacijos Live TV &amp; Įrašus, klausytis radijo kanalus per EPG</description>
128128 <disclaimer lang="cy_GB">Gwaith ar y gweill ydy hwn. Defnyddiwch er eich risg eich hun.</disclaimer>
129129 <disclaimer lang="da_DK">Dette er igangværende arbejde. Benyttes på eget ansvar.</disclaimer>
130130 <disclaimer lang="de_DE">Dieses Addon befindet sich noch in der Entwicklung. Benutzung auf eigene Gefahr!</disclaimer>
131 <disclaimer lang="el_GR">Έργο υπό ανάπτυξη. Χρησιμοποιήστε το υπ' ευθύνη σας.</disclaimer>
131 <disclaimer lang="el_GR">Έργο υπό ανάπτυξη. Χρησιμοποιήστε το υπ&apos; ευθύνη σας.</disclaimer>
132132 <disclaimer lang="en_AU">This is a work in progress. Use at your own risk.</disclaimer>
133133 <disclaimer lang="en_GB">This is a work in progress. Use at your own risk.</disclaimer>
134134 <disclaimer lang="en_NZ">This is a work in progress. Use at your own risk.</disclaimer>
139139 <disclaimer lang="et_EE">See on pooleliolev töö. Kasutada omal vastutusel.</disclaimer>
140140 <disclaimer lang="fi_FI">Tämä on epävakaa ohjelma! Sen tekijät eivät ole millään muotoa vastuussa epäonnistuneista tallennuksista, virheellisistä ajastuksista, haaskatusta ajasta, verenpaineen noususta tai mistään muusta epäsuotuisasta vaikutuksesta.</disclaimer>
141141 <disclaimer lang="fr_CA">Cela est un travail en cours. À utiliser à vos propres risques.</disclaimer>
142 <disclaimer lang="fr_FR">Logiciel en cours d'élaboration. À utiliser à vos risques et périls.</disclaimer>
142 <disclaimer lang="fr_FR">Logiciel en cours d&apos;élaboration. À utiliser à vos risques et périls.</disclaimer>
143143 <disclaimer lang="gl_ES">Aínda está en desenvolvemento. Usar baixo o seu propio risco.</disclaimer>
144144 <disclaimer lang="he_IL">זוהי הרחבה נסיונית. השימוש באחריות המשתמש בלבד.</disclaimer>
145145 <disclaimer lang="hr_HR">NextPVR PVR klijent je je još uvijek pod razvojem. Koristite ga na vlastitu odgovornost.</disclaimer>
146146 <disclaimer lang="hu_HU">Fejlesztés alatt! A saját felelősségére használja!</disclaimer>
147147 <disclaimer lang="id_ID">Ini adalah proyek yang masih berjalan. Resiko ditanggung sendiri.</disclaimer>
148148 <disclaimer lang="is_IS">Þetta er í vinnslu. Notist á eigin ábyrgð.</disclaimer>
149 <disclaimer lang="it_IT">Questo è un lavoro in corso d'opera. Utilizzalo a tuo rischio e pericolo.</disclaimer>
149 <disclaimer lang="it_IT">Questo è un lavoro in corso d&apos;opera. Utilizzalo a tuo rischio e pericolo.</disclaimer>
150150 <disclaimer lang="ja_JP">これは現在開発中のプログラムです。利用は自己責任でお願いします。</disclaimer>
151151 <disclaimer lang="ko_KR">아직 개발 진행중입니다. 부족한 부분이 있을 수 있습니다.</disclaimer>
152152 <disclaimer lang="lt_LT">Tai yra nestabili programinė įranga! Autorius jokiu būdu neatsakingas už nepavykusius įrašus, neteisingus laikmačius, iššvaistytas valandas, ar nutikus kitiems nepageidaujamiems poveikiams ...[COLOR=red](Kodi.lt siūlo/rekomenduoja testuojant šį priedą persijungti į Anglų [orinali] kalbą)[/COLOR]</disclaimer>
00 v20.3.1
11 - Implement advanced recording title search
2 - Adjust for Nexus change in Channel Group order
23
34 v20.3.0
45 - Kodi inputstream API update to version 3.2.0
7979
8080 PVR_ERROR Channels::GetChannels(bool radio, kodi::addon::PVRChannelsResultSet& results)
8181 {
82 if (radio && !m_settings.m_showRadio)
83 return PVR_ERROR_NO_ERROR;
84
8285 std::string stream;
8386 std::map<int, std::pair<bool, bool>>::iterator itr = m_channelDetails.begin();
8487 while (itr != m_channelDetails.end())
8891 else
8992 ++itr;
9093 }
91
92 if (radio)
93 m_radioGroups.clear();
94 else
95 m_tvGroups.clear();
9694
9795 tinyxml2::XMLDocument doc;
9896 if (m_request.DoMethodRequest("channel.list&extras=true", doc) == tinyxml2::XML_SUCCESS)
140138 std::string iconFile = GetChannelIcon(tag.GetUniqueId());
141139 if (iconFile.length() > 0)
142140 tag.SetIconPath(iconFile);
143 }
144
145 buffer.clear();
146 if (XMLUtils::GetAdditiveString(pChannelNode->FirstChildElement("groups"), "group", "\t", buffer, true))
147 {
148 std::vector<std::string> groups = kodi::tools::StringUtils::Split(buffer, '\t');
149 for(auto const& group : groups)
150 {
151 if (!radio && m_tvGroups.find(group) == m_tvGroups.end())
152 m_tvGroups.insert(group);
153 else if (radio && m_radioGroups.find(group) == m_radioGroups.end())
154 m_radioGroups.insert(group);
155 }
156141 }
157142
158143 // V5 has the EPG source type info.
190175
191176 PVR_ERROR Channels::GetChannelGroups(bool radio, kodi::addon::PVRChannelGroupsResultSet& results)
192177 {
193 const std::unordered_set selectedGroups = radio ? m_radioGroups : m_tvGroups;
178 if (radio && !m_settings.m_showRadio)
179 return PVR_ERROR_NO_ERROR;
180
181 std::unordered_set selectedGroups = radio ? m_radioGroups : m_tvGroups;
182
183 selectedGroups.clear();
184 tinyxml2::XMLDocument doc;
185 if (m_request.DoMethodRequest("channel.list&extras=true", doc) == tinyxml2::XML_SUCCESS)
186 {
187 tinyxml2::XMLNode* channelsNode = doc.RootElement()->FirstChildElement("channels");
188 tinyxml2::XMLNode* pChannelNode;
189 for( pChannelNode = channelsNode->FirstChildElement("channel"); pChannelNode; pChannelNode=pChannelNode->NextSiblingElement())
190 {
191 std::string buffer;
192 if (XMLUtils::GetAdditiveString(pChannelNode->FirstChildElement("groups"), "group", "\t", buffer, true))
193 {
194 std::vector<std::string> groups = kodi::tools::StringUtils::Split(buffer, '\t');
195 bool foundRadio = false;
196 buffer.clear();
197 XMLUtils::GetString(pChannelNode, "type", buffer);
198 if ( buffer == "0xa")
199 {
200 foundRadio = true;
201 }
202 if (radio == foundRadio)
203 {
204 for(auto const& group : groups)
205 {
206 if (selectedGroups.find(group) == selectedGroups.end())
207 {
208 selectedGroups.insert(group);
209 }
210 }
211 }
212 }
213 }
214 }
215
194216 // Many users won't have radio groups
195217 if (selectedGroups.size() == 0)
196218 return PVR_ERROR_NO_ERROR;
197219
198 tinyxml2::XMLDocument doc;
220 doc.Clear();
199221 if (m_request.DoMethodRequest("channel.groups", doc) == tinyxml2::XML_SUCCESS)
200222 {
201223 tinyxml2::XMLNode* groupsNode = doc.RootElement()->FirstChildElement("groups");