Opera 12.15 Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

aitparser.h 2.1KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /* -*- Mode: c++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4; -*-
  2. *
  3. * Copyright (C) 1995-2011 Opera Software ASA. All rights reserved.
  4. *
  5. * This file is part of the Opera web browser.
  6. * It may not be distributed under any circumstances.
  7. */
  8. #ifdef XML_AIT_SUPPORT
  9. #ifndef AIT_PARSER_H
  10. #define AIT_PARSER_H
  11. #include "modules/url/url2.h"
  12. #include "modules/windowcommander/AITData.h"
  13. /**
  14. * This class parses Application Information Table (AIT) data received
  15. * in an AIT XML document.
  16. *
  17. * AIT data is information about JavaScript applications that can be
  18. * either web based or found in the object carousel in a broadcasted
  19. * mpeg-2 stream. The data includes information about the location
  20. * (and carriage) of the application, as well as signalling related to
  21. * the application lifecycle and security context of an application.
  22. *
  23. * The XML syntax used is defined in ETSI TS 102 809: "Digital Video
  24. * Broadcasting (DVB); Signalling and carriage of interactive
  25. * applications and services in Hybrid broadcast/broadband
  26. * environments". The parse function of this class currently mainly
  27. * supports the part of ETSI TS 102 809 that is required by ETSI TS
  28. * 102 796: "Hybrid Broadcast Broadband TV".
  29. *
  30. * Note that the parse function in this class include no validation of
  31. * the parsed values!
  32. *
  33. * Specifications:
  34. * - https://projects.oslo.osa/Ulysses/specifications/etsi/ts_102809v010101p_AIT.pdf
  35. * - https://projects.oslo.osa/Ulysses/specifications/etsi/ts_102809v010101p0.zip
  36. * - https://projects.oslo.osa/Ulysses/specifications/hbbtv/ETSI-TS-102796-1.1.1.pdf
  37. */
  38. class AITParser
  39. {
  40. private:
  41. AITParser() {}
  42. public:
  43. /** @short Parse data from an URL containing an AIT XML document.
  44. *
  45. * Parses the AIT (Application Information Table) data recieved in
  46. * the input URL into the AITData. The URL should be of type
  47. * URL_XML_AIT.
  48. *
  49. * @param url URL to parse data from.
  50. * @param data container for the parsed data.
  51. * @return Memory error if OOK, OK otherwise.
  52. */
  53. static OP_STATUS Parse(URL &url, AITData &ait_data);
  54. };
  55. #endif // AIT_PARSER_H
  56. #endif // XML_AIT_SUPPORT