2000 2013 Ericsson AB, All Rights Reserved 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. cosTime Niclas Eklund Niclas Eklund Niclas Eklund 2000-01-31 PA1
cosTime The main module of the cosTime application

To get access to the record definitions for the structures use:

-include_lib("cosTime/include/*.hrl").

This module contains the functions for starting and stopping the application.

This application use the time base 15 october 1582 00:00. Performing operations using other time bases will not yield correct result.

The OMG CosTime specification defines the operation secure_universal_time. As of today we cannot provide this functionality considering the criteria demanded to fulfill the OMG specification.

When using this application, time and inaccuracy supplied by the user must be given in number of 100 nano seconds. The Time Displacement Factor is positive east of the meridian, while those to the west are negative.

This application use calender:now_to_universal_time(Now) to create a UTC. Hence, the underlying OS must deliver a correct result when calling erlang:now().

When determining the inaccuracy of the system, the user should consider the way the time objects will be used. Communicating with other ORB's, add a substantial overhead and should be taken into consideration.

install_time() -> Return Install the cosTime Time Service part application Return = ok | {'EXIT', Reason}

This operation installs the cosTime Time Service part application.

uninstall_time() -> Return Uninstall the cosTime Time Service part application Return = ok | {'EXIT', Reason}

This operation uninstalls the cosTime Time Service part application.

install_timerevent() -> Return Install the cosTime Timer Event Service part application Return = ok | {'EXIT', Reason}

This operation installs the cosTime Timer Event Service part application.

The Timer Event Service part requires Time Service part and cosEvent or the cosNotification application to be installed first.

uninstall_timerevent() -> Return Uninstall the cosTime Timer Event Service part application Return = ok | {'EXIT', Reason}

This operation uninstalls the cosTime Timer Event Service part application.

start() -> Return Start the cosTime application Return = ok | {error, Reason}

This operation starts the cosTime application.

stop() -> Return Stop the cosTime application Return = ok | {error, Reason}

This operation stops the cosTime application.

start_time_service(Tdf, Inaccuracy) -> Return Start a Time Service object Tdf = short() Inaccuracy = ulonglong(), eq. #100 nano seconds Return = ok | {'EXCEPTION', #'BAD_PARAM'{}}

This operation starts a Time Service server. Please note that there may only be exactly one Time Service active at a time. The Inaccuracy parameter defines the inaccuracy the underlying OS will introduce. Remember to take into account latency when passing time object between nodes.

stop_time_service(TimeService) -> ok Stop the target Time Service object TimeService = #objref

This operation stops the Time Service object.

start_timerevent_service(TimeService) -> ok Start a Timer Event Service object TimeService = #objref

This operation starts a Timer Event Service server. Please note that there may only be exactly one Timer Event Service per node active at a time. The supplied TimeServcie reference will be the object Timer Event Service contacts to get access to a new UTC.

stop_timerevent_service(TimerEventService) -> ok Stop the target Timer Event Service object TimerEventService = #objref

This operation stops the Timer Event Service object.