/branches/matreshka-0.1.x/source/league/matreshka-internals-calendars.ads

http://github.com/landgraf/matreshka · Ada · 82 lines · 11 code · 11 blank · 60 comment · 1 complexity · 63e224f16571744d0b2e2ee7c099fdd4 MD5 · raw file

  1. ------------------------------------------------------------------------------
  2. -- --
  3. -- Matreshka Project --
  4. -- --
  5. -- Localization, Internationalization, Globalization for Ada --
  6. -- --
  7. -- Runtime Library Component --
  8. -- --
  9. ------------------------------------------------------------------------------
  10. -- --
  11. -- Copyright Š 2011, Vadim Godunko <vgodunko@gmail.com> --
  12. -- All rights reserved. --
  13. -- --
  14. -- Redistribution and use in source and binary forms, with or without --
  15. -- modification, are permitted provided that the following conditions --
  16. -- are met: --
  17. -- --
  18. -- * Redistributions of source code must retain the above copyright --
  19. -- notice, this list of conditions and the following disclaimer. --
  20. -- --
  21. -- * Redistributions in binary form must reproduce the above copyright --
  22. -- notice, this list of conditions and the following disclaimer in the --
  23. -- documentation and/or other materials provided with the distribution. --
  24. -- --
  25. -- * Neither the name of the Vadim Godunko, IE nor the names of its --
  26. -- contributors may be used to endorse or promote products derived from --
  27. -- this software without specific prior written permission. --
  28. -- --
  29. -- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS --
  30. -- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT --
  31. -- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR --
  32. -- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT --
  33. -- HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, --
  34. -- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED --
  35. -- TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR --
  36. -- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF --
  37. -- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING --
  38. -- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS --
  39. -- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --
  40. -- --
  41. ------------------------------------------------------------------------------
  42. -- $Revision$ $Date$
  43. ------------------------------------------------------------------------------
  44. with Interfaces;
  45. package Matreshka.Internals.Calendars is
  46. pragma Preelaborate;
  47. -- Universal Time Coordinated (UTC) representation from the X/Open DCE Time
  48. -- Service is used as internal representation. It is defined as follows:
  49. --
  50. -- Time units 100 nanoseconds (10-7 seconds)
  51. --
  52. -- Base time 15 October 1582 00:00:00.
  53. --
  54. -- Approximate range AD 30,000
  55. --
  56. -- UTC time in this implementation always refers to time in Greenwich Time
  57. -- Zone.
  58. type Absolute_Time is new Interfaces.Integer_64;
  59. -- The corresponding internal representations of relative time is the same
  60. -- one as for absolute time, and hence with similar characteristics:
  61. --
  62. -- Time units 100 nanoseconds (10-7 seconds)
  63. --
  64. -- Approximate range +/- 30,000 years
  65. type Relative_Time is new Interfaces.Integer_64;
  66. type Julian_Day_Number is new Interfaces.Integer_32;
  67. type Internal_Time_Zone is null record;
  68. type Time_Zone_Access is access all Internal_Time_Zone;
  69. for Time_Zone_Access'Storage_Size use 0;
  70. UTC_Time_Zone : aliased Internal_Time_Zone;
  71. end Matreshka.Internals.Calendars;