<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE erlref SYSTEM "erlref.dtd">

<erlref>
  <header>
    <copyright>
      <year>2000</year>
      <year>2016</year>
      <holder>Ericsson AB, All Rights Reserved</holder>
    </copyright>
    <legalnotice>
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at
 
      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions 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>

