ClockImpl

NAME
SYNOPSIS
Detailed Description
Constructor & Destructor Documentation
Member Function Documentation
Member Data Documentation
Author

NAME

ClockImpl −

SYNOPSIS

#include <acstimeClockImpl.h>

Inherits baci::CharacteristicComponentImpl.

Public Member Functions

ClockImpl (const ACE_CString &name, maci::ContainerServices *containerServices)

virtual ~ClockImpl ()

virtual acstime::Duration getTimeInterval (const acstime::Epoch &prevEpoch)

virtual ACS::RWlong_ptr array2TAI ()

virtual ACS::RWlong_ptr TAI2UTC ()

virtual ACS::ROuLongLong_ptr now ()

virtual acstime::Epoch fromISO8601 (acstime::TimeSystem ts, const char *iso)

virtual char * toISO8601 (acstime::TimeSystem ts, const acstime::Epoch &timeValue)

Private Member Functions

ClockImpl (const ClockImpl &)

copy not allowed

void operator= (const ClockImpl &)

assignment not allowed

Private Attributes

baci::RWlong * m_array2TAI

baci::RWlong * m_TAI2UTC

baci::ROuLongLong * m_now

DevIOTime * m_now_dev

Detailed Description

ClockImpl is the implementation of Clock IDL interface and it provides an interface into the ACS time service which is based mainly on ALMA Control System software. It has the ability to do time conversions, return the current time, etc. There should be one Clock device running on each PC/LCU.

TODO:

use devIOs on array2TAI and TAI2UTC properties and make them read-only. This requires figuring out exactly who writes values out to these properties.

provide way more time conversion methods in this class (and the IDL interface). Won’t be terribly useful until this is done.

Constructor & Destructor Documentation

ClockImpl::ClockImpl (const ACE_CString & name, maci::ContainerServices * containerServices) Constructor

Parameters:

poa Poa which will activate this and also all other components.
name
component’s name. This is also the name that will be used to find the configuration data for the component in the Configuration Database.
containerServices
container services object

virtual ClockImpl::~ClockImpl () [virtual] Destructor

ClockImpl::ClockImpl (const ClockImpl &) [private]

copy not allowed

Member Function Documentation

virtual ACS::RWlong_ptr ClockImpl::array2TAI () [virtual] Implementation of IDL method. Please see the documenation for the Clock IDL interface.

virtual acstime::Epoch ClockImpl::fromISO8601 (acstime::TimeSystem ts, const char * iso) [virtual] Implementation of IDL method. Please see the documenation for the Clock IDL interface.

Exceptions:

ACSTimeError::ArgErrorEx

virtual acstime::Duration ClockImpl::getTimeInterval (const acstime::Epoch & prevEpoch) [virtual] Implementation of IDL method. Please see the documenation for the Clock IDL interface.

virtual ACS::ROuLongLong_ptr ClockImpl::now () [virtual] Implementation of IDL method. Please see the documenation for the Clock IDL interface.

void ClockImpl::operator= (const ClockImpl &) [private]

assignment not allowed

virtual ACS::RWlong_ptr ClockImpl::TAI2UTC () [virtual] Implementation of IDL method. Please see the documenation for the Clock IDL interface.

virtual char* ClockImpl::toISO8601 (acstime::TimeSystem ts, const acstime::Epoch & timeValue) [virtual] Implementation of IDL method. Please see the documenation for the Clock IDL interface.

Exceptions:

ACSTimeError::ArgErrorEx

Member Data Documentation

baci::RWlong* ClockImpl::m_array2TAI [private] Implementation of the array2TAI IDL property.

baci::ROuLongLong* ClockImpl::m_now [private] Implementation of the now IDL property (current time).

DevIOTime* ClockImpl::m_now_dev [private] devIO used to get the current time used by the now property.

baci::RWlong* ClockImpl::m_TAI2UTC [private] Implementation of the TAI2UTC IDL property.

Author

Generated automatically by Doxygen for ACS-2015.2 C++ API from the source code.