1 /* 2 * Copyright (C) 2005-2018 Team Kodi 3 * This file is part of Kodi - https://kodi.tv 4 * 5 * SPDX-License-Identifier: GPL-2.0-or-later 6 * See LICENSES/README.md for more information. 7 */ 8 9 #pragma once 10 11 #include "AddonClass.h" 12 13 #include <memory> 14 15 namespace PVR 16 { 17 class CPVRChannel; 18 class CPVRRadioRDSInfoTag; 19 } 20 21 namespace XBMCAddon 22 { 23 namespace xbmc 24 { 25 // 26 /// \defgroup python_InfoTagRadioRDS InfoTagRadioRDS 27 /// \ingroup python_xbmc 28 /// @{ 29 /// @brief **Kodi's radio RDS info tag class.** 30 /// 31 /// \python_class{ InfoTagRadioRDS() } 32 /// 33 /// To get radio RDS info tag data of currently played PVR radio channel source. 34 /// 35 /// @note Info tag load is only be possible from present player class.\n 36 /// Also is all the data variable from radio channels and not known on beginning 37 /// of radio receiving. 38 /// 39 /// 40 ///-------------------------------------------------------------------------- 41 /// 42 /// **Example:** 43 /// ~~~~~~~~~~~~~{.py} 44 /// ... 45 /// tag = xbmc.Player().getRadioRDSInfoTag() 46 /// 47 /// title = tag.getTitle() 48 /// artist = tag.getArtist() 49 /// ... 50 /// ~~~~~~~~~~~~~ 51 // 52 class InfoTagRadioRDS : public AddonClass 53 { 54 private: 55 std::shared_ptr<PVR::CPVRRadioRDSInfoTag> infoTag; 56 57 public: 58 #ifndef SWIG 59 explicit InfoTagRadioRDS(const std::shared_ptr<PVR::CPVRChannel>& channel); 60 #endif 61 InfoTagRadioRDS(); 62 ~InfoTagRadioRDS() override; 63 64 #ifdef DOXYGEN_SHOULD_USE_THIS 65 /// 66 /// @ingroup python_InfoTagRadioRDS 67 /// @brief \python_func{ getTitle() } 68 /// Title of the item on the air; i.e. song title. 69 /// 70 /// @return Title 71 /// 72 getTitle(); 73 #else 74 String getTitle(); 75 #endif 76 77 #ifdef DOXYGEN_SHOULD_USE_THIS 78 /// 79 /// @ingroup python_InfoTagRadioRDS 80 /// @brief \python_func{ getBand() } 81 /// Band of the item on air. 82 /// 83 /// @return Band 84 /// 85 getBand(); 86 #else 87 String getBand(); 88 #endif 89 90 #ifdef DOXYGEN_SHOULD_USE_THIS 91 /// 92 /// @ingroup python_InfoTagRadioRDS 93 /// @brief \python_func{ getArtist() } 94 /// Artist of the item on air. 95 /// 96 /// @return Artist 97 /// 98 getArtist(); 99 #else 100 String getArtist(); 101 #endif 102 103 #ifdef DOXYGEN_SHOULD_USE_THIS 104 /// 105 /// @ingroup python_InfoTagRadioRDS 106 /// @brief \python_func{ getComposer() } 107 /// Get the Composer of the music. 108 /// 109 /// @return Composer 110 /// 111 getComposer(); 112 #else 113 String getComposer(); 114 #endif 115 116 #ifdef DOXYGEN_SHOULD_USE_THIS 117 /// 118 /// @ingroup python_InfoTagRadioRDS 119 /// @brief \python_func{ getConductor() } 120 /// Get the Conductor of the Band. 121 /// 122 /// @return Conductor 123 /// 124 getConductor(); 125 #else 126 String getConductor(); 127 #endif 128 129 #ifdef DOXYGEN_SHOULD_USE_THIS 130 /// 131 /// @ingroup python_InfoTagRadioRDS 132 /// @brief \python_func{ getAlbum() } 133 /// Album of item on air. 134 /// 135 /// @return Album name 136 /// 137 getAlbum(); 138 #else 139 String getAlbum(); 140 #endif 141 142 #ifdef DOXYGEN_SHOULD_USE_THIS 143 /// 144 /// @ingroup python_InfoTagRadioRDS 145 /// @brief \python_func{ getComment() } 146 /// Get Comment text from channel. 147 /// 148 /// @return Comment 149 /// 150 getComment(); 151 #else 152 String getComment(); 153 #endif 154 155 #ifdef DOXYGEN_SHOULD_USE_THIS 156 /// 157 /// @ingroup python_InfoTagRadioRDS 158 /// @brief \python_func{ getAlbumTrackNumber() } 159 /// Get the album track number of currently sended music. 160 /// 161 /// @return Track Number 162 /// 163 getAlbumTrackNumber(); 164 #else 165 int getAlbumTrackNumber(); 166 #endif 167 168 #ifdef DOXYGEN_SHOULD_USE_THIS 169 /// 170 /// @ingroup python_InfoTagRadioRDS 171 /// @brief \python_func{ getInfoNews() } 172 /// Get News informations. 173 /// 174 /// @return News Information 175 /// 176 getInfoNews(); 177 #else 178 String getInfoNews(); 179 #endif 180 181 #ifdef DOXYGEN_SHOULD_USE_THIS 182 /// 183 /// @ingroup python_InfoTagRadioRDS 184 /// @brief \python_func{ getInfoNewsLocal() } 185 /// Get Local news informations. 186 /// 187 /// @return Local News Information 188 /// 189 getInfoNewsLocal(); 190 #else 191 String getInfoNewsLocal(); 192 #endif 193 194 #ifdef DOXYGEN_SHOULD_USE_THIS 195 /// 196 /// @ingroup python_InfoTagRadioRDS 197 /// @brief \python_func{ getInfoSport() } 198 /// Get Sport informations. 199 /// 200 /// @return Sport Information 201 /// 202 getInfoSport(); 203 #else 204 String getInfoSport(); 205 #endif 206 207 #ifdef DOXYGEN_SHOULD_USE_THIS 208 /// 209 /// @ingroup python_InfoTagRadioRDS 210 /// @brief \python_func{ getInfoStock() } 211 /// Get Stock informations. 212 /// 213 /// @return Stock Information 214 /// 215 getInfoStock(); 216 #else 217 String getInfoStock(); 218 #endif 219 220 #ifdef DOXYGEN_SHOULD_USE_THIS 221 /// 222 /// @ingroup python_InfoTagRadioRDS 223 /// @brief \python_func{ getInfoWeather() } 224 /// Get Weather informations. 225 /// 226 /// @return Weather Information 227 /// 228 getInfoWeather(); 229 #else 230 String getInfoWeather(); 231 #endif 232 233 #ifdef DOXYGEN_SHOULD_USE_THIS 234 /// 235 /// @ingroup python_InfoTagRadioRDS 236 /// @brief \python_func{ getInfoHoroscope() } 237 /// Get Horoscope informations. 238 /// 239 /// @return Horoscope Information 240 /// 241 getInfoHoroscope(); 242 #else 243 String getInfoHoroscope(); 244 #endif 245 246 #ifdef DOXYGEN_SHOULD_USE_THIS 247 /// 248 /// @ingroup python_InfoTagRadioRDS 249 /// @brief \python_func{ getInfoCinema() } 250 /// Get Cinema informations. 251 /// 252 /// @return Cinema Information 253 /// 254 getInfoCinema(); 255 #else 256 String getInfoCinema(); 257 #endif 258 259 #ifdef DOXYGEN_SHOULD_USE_THIS 260 /// 261 /// @ingroup python_InfoTagRadioRDS 262 /// @brief \python_func{ getInfoLottery() } 263 /// Get Lottery informations. 264 /// 265 /// @return Lottery Information 266 /// 267 getInfoLottery(); 268 #else 269 String getInfoLottery(); 270 #endif 271 272 #ifdef DOXYGEN_SHOULD_USE_THIS 273 /// 274 /// @ingroup python_InfoTagRadioRDS 275 /// @brief \python_func{ getInfoOther() } 276 /// Get other informations. 277 /// 278 /// @return Other Information 279 /// 280 getInfoOther(); 281 #else 282 String getInfoOther(); 283 #endif 284 285 #ifdef DOXYGEN_SHOULD_USE_THIS 286 /// 287 /// @ingroup python_InfoTagRadioRDS 288 /// @brief \python_func{ getEditorialStaff() } 289 /// Get Editorial Staff names. 290 /// 291 /// @return Editorial Staff 292 /// 293 getEditorialStaff(); 294 #else 295 String getEditorialStaff(); 296 #endif 297 298 #ifdef DOXYGEN_SHOULD_USE_THIS 299 /// 300 /// @ingroup python_InfoTagRadioRDS 301 /// @brief \python_func{ getProgStation() } 302 /// Name describing station. 303 /// 304 /// @return Program Station 305 /// 306 getProgStation(); 307 #else 308 String getProgStation(); 309 #endif 310 311 #ifdef DOXYGEN_SHOULD_USE_THIS 312 /// 313 /// @ingroup python_InfoTagRadioRDS 314 /// @brief \python_func{ getProgStyle() } 315 /// The the radio channel style currently used. 316 /// 317 /// @return Program Style 318 /// 319 getProgStyle(); 320 #else 321 String getProgStyle(); 322 #endif 323 324 #ifdef DOXYGEN_SHOULD_USE_THIS 325 /// 326 /// @ingroup python_InfoTagRadioRDS 327 /// @brief \python_func{ getProgHost() } 328 /// Host of current radio show. 329 /// 330 /// @return Program Host 331 /// 332 getProgHost(); 333 #else 334 String getProgHost(); 335 #endif 336 337 #ifdef DOXYGEN_SHOULD_USE_THIS 338 /// 339 /// @ingroup python_InfoTagRadioRDS 340 /// @brief \python_func{ getProgWebsite() } 341 /// Link to URL (web page) for radio station homepage. 342 /// 343 /// @return Program Website 344 /// 345 getProgWebsite(); 346 #else 347 String getProgWebsite(); 348 #endif 349 350 #ifdef DOXYGEN_SHOULD_USE_THIS 351 /// 352 /// @ingroup python_InfoTagRadioRDS 353 /// @brief \python_func{ getProgNow() } 354 /// Current radio program show. 355 /// 356 /// @return Program Now 357 /// 358 getProgNow(); 359 #else 360 String getProgNow(); 361 #endif 362 363 #ifdef DOXYGEN_SHOULD_USE_THIS 364 /// 365 /// @ingroup python_InfoTagRadioRDS 366 /// @brief \python_func{ getProgNext() } 367 /// Next program show. 368 /// 369 /// @return Program Next 370 /// 371 getProgNext(); 372 #else 373 String getProgNext(); 374 #endif 375 376 #ifdef DOXYGEN_SHOULD_USE_THIS 377 /// 378 /// @ingroup python_InfoTagRadioRDS 379 /// @brief \python_func{ getPhoneHotline() } 380 /// Telephone number of the radio station's hotline. 381 /// 382 /// @return Phone Hotline 383 /// 384 getPhoneHotline(); 385 #else 386 String getPhoneHotline(); 387 #endif 388 389 #ifdef DOXYGEN_SHOULD_USE_THIS 390 /// 391 /// @ingroup python_InfoTagRadioRDS 392 /// @brief \python_func{ getEMailHotline() } 393 /// Email address of the radio station's studio. 394 /// 395 /// @return EMail Hotline 396 /// 397 getEMailHotline(); 398 #else 399 String getEMailHotline(); 400 #endif 401 402 #ifdef DOXYGEN_SHOULD_USE_THIS 403 /// 404 /// @ingroup python_InfoTagRadioRDS 405 /// @brief \python_func{ getPhoneStudio() } 406 /// Telephone number of the radio station's studio. 407 /// 408 /// @return Phone Studio 409 /// 410 getPhoneStudio(); 411 #else 412 String getPhoneStudio(); 413 #endif 414 415 #ifdef DOXYGEN_SHOULD_USE_THIS 416 /// 417 /// @ingroup python_InfoTagRadioRDS 418 /// @brief \python_func{ getEMailStudio() } 419 /// Email address of radio station studio. 420 /// 421 /// @return EMail Studio 422 /// 423 getEMailStudio(); 424 #else 425 String getEMailStudio(); 426 #endif 427 428 #ifdef DOXYGEN_SHOULD_USE_THIS 429 /// 430 /// @ingroup python_InfoTagRadioRDS 431 /// @brief \python_func{ getSMSStudio() } 432 /// SMS (Text Messaging) number for studio. 433 /// 434 /// @return SMS Studio 435 /// 436 getSMSStudio(); 437 #else 438 String getSMSStudio(); 439 #endif 440 }; 441 //@} 442 } 443 } 444