Class DT_CLOCK |

    indexing

>     description:

>         "Abstract clocks"

>     library:    "Gobo Eiffel Time Library"
>     author:     "Eric Bezault <ericb@gobosoft.com>"
>     copyright:  "Copyright (c) 2001, Eric Bezault and others"
>     license:    "Eiffel Forum License v2 (see forum.txt)"

    deferred class interface

>     DT_CLOCK

    inherit

>     DT_DATE_HANDLER
>     DT_TIME_HANDLER
>     DT_DATE_TIME_HANDLER

    feature -- Access

>     time_now: DT_TIME
>             -- Current time
>             -- (Create a new time object at each call.)
>         ensure
>             time_now_not_void: Result /= Void

>     date_now: DT_DATE
>             -- Current date
>             -- (Create a new date object at each call.)
>         ensure
>             date_now_not_void: Result /= Void

>     date_time_now: DT_DATE_TIME
>             -- Current date time
>             -- (Create a new date time object at each call.)
>         ensure
>             date_time_now_not_void: Result /= Void

    feature -- Setting

>     set_time_to_now (a_time: DT_TIME)
>             -- Set a_time to current time.
>         require
>             a_time_not_void: a_time /= Void
>         deferred

>     set_date_to_now (a_date: DT_DATE)
>             -- Set a_date to current date.
>         require
>             a_date_not_void: a_date /= Void
>         deferred

>     set_date_time_to_now (a_date_time: DT_DATE_TIME)
>             -- Set a_date_time to current date time.
>         require
>             a_date_time_not_void: a_date_time /= Void
>         deferred

    end -- class DT_CLOCK