<?xml version="1.0" encoding="latin1" ?>
<!DOCTYPE erlref SYSTEM "erlref.dtd">

<erlref>
  <header>
    <copyright>
      <year>2000</year>
      <year>2007</year>
      <holder>Ericsson AB, All Rights Reserved</holder>
    </copyright>
    <legalnotice>
  The contents of this file are subject to the Erlang Public License,
  Version 1.1, (the "License"); you may not use this file except in
  compliance with the License. You should have received a copy of the
  Erlang Public License along with this software. If not, it can be
  retrieved online at http://www.erlang.org/.

  Software distributed under the License is distributed on an "AS IS"
  basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
  the License for the specific language governing rights and limitations
  under the License.

  The Initial Developer of the Original Code is Ericsson AB.
    </legalnotice>

    <title>CosTime_TimeService</title>
    <prepared>Niclas Eklund</prepared>
    <responsible>Niclas Eklund</responsible>
    <docno></docno>
    <approved>Niclas Eklund</approved>
    <checked></checked>
    <date>2000-02-01</date>
    <rev>1.0</rev>
  </header>
  <module>CosTime_TimeService</module>
  <modulesummary>This module implements the OMG CosTime::TimeService interface.</modulesummary>
  <description>
    <p>To get access to the record definitions for the structures use:      <br></br>
<c>-include_lib("cosTime/include/*.hrl").</c></p>
  </description>
  <funcs>
    <func>
      <name>universal_time(TimeService) -> Reply</name>
      <fsummary>Return the current time and the Inaccuracy given when starting this application in a UTO</fsummary>
      <type>
        <v>TimeService = #objref</v>
        <v>Reply = UTO | {'EXCEPTION", #'TimerService_TimeUnavailable'{}}</v>
        <v>UTO = #objref</v>
      </type>
      <desc>
        <p>This operation returns the current time and the Inaccuracy given
          when starting this application in a UTO. The time base is 
          <em>15 october 1582 00:00</em>. Comparing two time objects which use 
          different time base is, by obvious reasons, pointless.</p>
      </desc>
    </func>
    <func>
      <name>new_universal_time(TimeService, Time, Inaccuracy, Tdf) -> UTO</name>
      <fsummary>Create a new UTO object representing the time  parameters given</fsummary>
      <type>
        <v>TimeService = UTO = #objref</v>
        <v>Time = Inaccuracy = ulonglong()</v>
        <v>Tdf = short()</v>
      </type>
      <desc>
        <p>This operation creates a new UTO object representing the time 
          parameters given. This is the only way to create a UTO with an
          arbitrary time from its components. This is useful when using the 
          Timer Event Service.</p>
      </desc>
    </func>
    <func>
      <name>uto_from_utc(TimeService, Utc) -> UTO</name>
      <fsummary>Create a UTO representing the given time in Utc form</fsummary>
      <type>
        <v>TimeService = UTO = #objref</v>
        <v>Utc = #'TimeBase_UtcT'{time, inacclo, inacchi, tdf}</v>
        <v>time = ulonglong()</v>
        <v>inacclo = ulong()</v>
        <v>inacchi = ushort()</v>
        <v>tdf = short()</v>
      </type>
      <desc>
        <p>This operation is used to create a UTO given a time in the Utc form.</p>
      </desc>
    </func>
    <func>
      <name>new_interval(TimeService, Lower, Upper) -> TIO</name>
      <fsummary>Create a new TIO object representing the input parameters</fsummary>
      <type>
        <v>TimeService = TIO = #objref</v>
        <v>Lower = Upper = ulonglong()</v>
      </type>
      <desc>
        <p>This operation is used to create a new TIO object, representing 
          the input parameters. If <em>Lower</em> is greater than Upper 
          BAD_PARAM is raised.</p>
      </desc>
    </func>
  </funcs>
  
</erlref>

