Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Friends | List of all members
YRealTimeClock Class Reference

#include <yocto_realtimeclock.h>

Inheritance diagram for YRealTimeClock:
Inheritance graph
[legend]

Public Member Functions

virtual int _invokeValueCallback (string value)
 
string dateTime (void)
 
string get_dateTime (void)
 
Y_TIMESET_enum get_timeSet (void)
 
s64 get_unixTime (void)
 
int get_utcOffset (void)
 
YRealTimeClocknext (void)
 
YRealTimeClocknextRealTimeClock (void)
 
virtual int registerValueCallback (YRealTimeClockValueCallback callback)
 
int set_unixTime (s64 newval)
 
int set_utcOffset (int newval)
 
int setUnixTime (s64 newval)
 
int setUtcOffset (int newval)
 
Y_TIMESET_enum timeSet (void)
 
s64 unixTime (void)
 
int utcOffset (void)
 
 ~YRealTimeClock ()
 
- Public Member Functions inherited from YFunction
void _clearDataStreamCache ()
 
string _decode_json_string (const string &json)
 
string _download (const string &url)
 
YDataStream_findDataStream (YDataSet &dataset, const string &def)
 
string _get_json_path (const string &json, const string &path)
 
vector< string > _json_get_array (const string &json)
 
string _json_get_key (const string &json, const string &data)
 
string _json_get_string (const string &json)
 
int _parseEx (yJsonStateMachine &j)
 
virtual int _parserHelper (void)
 
string _parseString (yJsonStateMachine &j)
 
string _request (const string &request)
 
string _requestEx (int tcpchan, const string &request, yapiRequestProgressCallback callback, void *context)
 
void _throw (YRETCODE errType, string errMsg)
 
YRETCODE _upload (const string &path, const string &content)
 
YRETCODE _uploadWithProgress (const string &path, const string &content, yapiRequestProgressCallback callback, void *context)
 
string advertisedValue (void)
 
void clearCache ()
 
string describe (void)
 
string errMessage (void)
 
string errorMessage (void)
 
YRETCODE errorType (void)
 
YRETCODE errType (void)
 
YFUN_DESCR functionDescriptor (void)
 
string get_advertisedValue (void)
 
string get_errorMessage (void)
 
YRETCODE get_errorType (void)
 
virtual string get_friendlyName (void)
 
YFUN_DESCR get_functionDescriptor (void)
 
string get_functionId (void)
 
string get_hardwareId (void)
 
string get_hubSerial ()
 
string get_logicalName (void)
 
YModuleget_module (void)
 
void * get_userData (void)
 
bool isOnline (void)
 
YRETCODE load (int msValidity)
 
virtual string loadAttribute (string attrName)
 
string logicalName (void)
 
YModulemodule (void)
 
virtual int muteValueCallbacks (void)
 
YFunctionnext (void)
 
YFunctionnextFunction (void)
 
virtual int registerValueCallback (YFunctionValueCallback callback)
 
int set_advertisedValue (const string &newval)
 
int set_logicalName (const string &newval)
 
void set_userData (void *data)
 
int setAdvertisedValue (const string &newval)
 
int setLogicalName (const string &newval)
 
void setUserData (void *data)
 
virtual int unmuteValueCallbacks (void)
 
void * userData (void)
 
virtual ~YFunction ()
 

Static Public Member Functions

static YRealTimeClockFind (string func)
 
static YRealTimeClockFindRealTimeClock (string func)
 
static YRealTimeClockFirst (void)
 
static YRealTimeClockFirstRealTimeClock (void)
 
- Static Public Member Functions inherited from YFunction
static void _ClearCache (void)
 
static YFunctionFind (string func)
 
static YFunctionFindFunction (string func)
 
static YFunctionFirst (void)
 
static YFunctionFirstFunction (void)
 

Static Public Attributes

static const string DATETIME_INVALID = YAPI_INVALID_STRING
 
static const Y_TIMESET_enum TIMESET_FALSE = Y_TIMESET_FALSE
 
static const Y_TIMESET_enum TIMESET_INVALID = Y_TIMESET_INVALID
 
static const Y_TIMESET_enum TIMESET_TRUE = Y_TIMESET_TRUE
 
static const s64 UNIXTIME_INVALID = YAPI_INVALID_LONG
 
static const int UTCOFFSET_INVALID = YAPI_INVALID_INT
 
- Static Public Attributes inherited from YFunction
static const string ADVERTISEDVALUE_INVALID = YAPI_INVALID_STRING
 
static const string FRIENDLYNAME_INVALID = YAPI_INVALID_STRING
 
static const YFUN_DESCR FUNCTIONDESCRIPTOR_INVALID = Y_FUNCTIONDESCRIPTOR_INVALID
 
static const string FUNCTIONID_INVALID = YAPI_INVALID_STRING
 
static const string HARDWAREID_INVALID = YAPI_INVALID_STRING
 
static const string LOGICALNAME_INVALID = YAPI_INVALID_STRING
 

Protected Member Functions

virtual int _parseAttr (YJSONObject *json_val)
 
 YRealTimeClock (const string &func)
 
- Protected Member Functions inherited from YFunction
YRETCODE _buildSetRequest (const string &changeattr, const string *changeval, string &request, string &errmsg)
 
string _escapeAttr (const string &changeval)
 
YRETCODE _getDescriptor (YFUN_DESCR &fundescr, string &errMsg)
 
YRETCODE _getDevice (YDevice *&dev, string &errMsg)
 
YRETCODE _load_unsafe (int msValidity)
 
YRETCODE _nextFunction (string &hwId)
 
int _parse (YJSONObject *j)
 
YRETCODE _setAttr (string attrname, string newvalue)
 
 YFunction (const string &func)
 

Protected Attributes

string _dateTime
 
Y_TIMESET_enum _timeSet
 
s64 _unixTime
 
int _utcOffset
 
YRealTimeClockValueCallback _valueCallbackRealTimeClock
 
- Protected Attributes inherited from YFunction
string _advertisedValue
 
u64 _cacheExpiration
 
string _className
 
std::map< string, YDataStream * > _dataStreams
 
string _func
 
YFUN_DESCR _fundescr
 
string _funId
 
string _hwId
 
string _lastErrorMsg
 
YRETCODE _lastErrorType
 
string _logicalName
 
string _serial
 
yCRITICAL_SECTION _this_cs
 
void * _userData
 
YFunctionValueCallback _valueCallbackFunction
 

Friends

YRealTimeClockyFindRealTimeClock (const string &func)
 
YRealTimeClockyFirstRealTimeClock (void)
 

Additional Inherited Members

- Static Protected Member Functions inherited from YFunction
static void _AddToCache (const string &classname, const string &func, YFunction *obj)
 
static YFunction_FindFromCache (const string &classname, const string &func)
 
static void _UpdateTimedReportCallbackList (YFunction *func, bool add)
 
static void _UpdateValueCallbackList (YFunction *func, bool add)
 
- Static Protected Attributes inherited from YFunction
static std::map< string, YFunction * > _cache
 

Detailed Description

YRealTimeClock Class: Real Time Clock function interface

The RealTimeClock function maintains and provides current date and time, even accross power cut lasting several days. It is the base for automated wake-up functions provided by the WakeUpScheduler. The current time may represent a local time as well as an UTC time, but no automatic time change will occur to account for daylight saving time.

Definition at line 77 of file yocto_realtimeclock.h.

Constructor & Destructor Documentation

YRealTimeClock::YRealTimeClock ( const string &  func)
protected

Definition at line 51 of file yocto_realtimeclock.cpp.

YRealTimeClock::~YRealTimeClock ( )

Definition at line 63 of file yocto_realtimeclock.cpp.

Member Function Documentation

int YRealTimeClock::_invokeValueCallback ( string  value)
virtual

Reimplemented from YFunction.

Definition at line 337 of file yocto_realtimeclock.cpp.

int YRealTimeClock::_parseAttr ( YJSONObject json_val)
protectedvirtual

Reimplemented from YFunction.

Definition at line 72 of file yocto_realtimeclock.cpp.

string YRealTimeClock::dateTime ( void  )
inline

Definition at line 147 of file yocto_realtimeclock.h.

static YRealTimeClock* YRealTimeClock::Find ( string  func)
inlinestatic

Definition at line 235 of file yocto_realtimeclock.h.

YRealTimeClock * YRealTimeClock::FindRealTimeClock ( string  func)
static

Retrieves a clock for a given identifier. The identifier can be specified using several formats:

  • FunctionLogicalName
  • ModuleSerialNumber.FunctionIdentifier
  • ModuleSerialNumber.FunctionLogicalName
  • ModuleLogicalName.FunctionIdentifier
  • ModuleLogicalName.FunctionLogicalName

This function does not require that the clock is online at the time it is invoked. The returned object is nevertheless valid. Use the method YRealTimeClock.isOnline() to test if the clock is indeed online at a given time. In case of ambiguity when looking for a clock by logical name, no error is notified: the first instance found is returned. The search is performed first by hardware name, then by logical name.

If a call to this object's is_online() method returns FALSE although you are certain that the matching device is plugged, make sure that you did call registerHub() at application initialization time.

Parameters
func: a string that uniquely characterizes the clock
Returns
a YRealTimeClock object allowing you to drive the clock.

Definition at line 286 of file yocto_realtimeclock.cpp.

static YRealTimeClock* YRealTimeClock::First ( void  )
inlinestatic

Definition at line 259 of file yocto_realtimeclock.h.

YRealTimeClock * YRealTimeClock::FirstRealTimeClock ( void  )
static

Starts the enumeration of clocks currently accessible. Use the method YRealTimeClock.nextRealTimeClock() to iterate on next clocks.

Returns
a pointer to a YRealTimeClock object, corresponding to the first clock currently online, or a NULL pointer if there are none.

Definition at line 357 of file yocto_realtimeclock.cpp.

string YRealTimeClock::get_dateTime ( void  )

Returns the current time in the form "YYYY/MM/DD hh:mm:ss".

Returns
a string corresponding to the current time in the form "YYYY/MM/DD hh:mm:ss"

On failure, throws an exception or returns Y_DATETIME_INVALID.

Definition at line 152 of file yocto_realtimeclock.cpp.

Y_TIMESET_enum YRealTimeClock::get_timeSet ( void  )

Returns true if the clock has been set, and false otherwise.

Returns
either Y_TIMESET_FALSE or Y_TIMESET_TRUE, according to true if the clock has been set, and false otherwise

On failure, throws an exception or returns Y_TIMESET_INVALID.

Definition at line 237 of file yocto_realtimeclock.cpp.

s64 YRealTimeClock::get_unixTime ( void  )

Returns the current time in Unix format (number of elapsed seconds since Jan 1st, 1970).

Returns
an integer corresponding to the current time in Unix format (number of elapsed seconds since Jan 1st, 1970)

On failure, throws an exception or returns Y_UNIXTIME_INVALID.

Definition at line 98 of file yocto_realtimeclock.cpp.

int YRealTimeClock::get_utcOffset ( void  )

Returns the number of seconds between current time and UTC time (time zone).

Returns
an integer corresponding to the number of seconds between current time and UTC time (time zone)

On failure, throws an exception or returns Y_UTCOFFSET_INVALID.

Definition at line 181 of file yocto_realtimeclock.cpp.

YRealTimeClock* YRealTimeClock::next ( void  )
inline

Definition at line 246 of file yocto_realtimeclock.h.

YRealTimeClock * YRealTimeClock::nextRealTimeClock ( void  )

Continues the enumeration of clocks started using yFirstRealTimeClock().

Returns
a pointer to a YRealTimeClock object, corresponding to a clock currently online, or a NULL pointer if there are no more clocks to enumerate.

Definition at line 347 of file yocto_realtimeclock.cpp.

int YRealTimeClock::registerValueCallback ( YRealTimeClockValueCallback  callback)
virtual

Registers the callback function that is invoked on every change of advertised value. The callback is invoked only during the execution of ySleep or yHandleEvents. This provides control over the time when the callback is triggered. For good responsiveness, remember to call one of these two functions periodically. To unregister a callback, pass a NULL pointer as argument.

Parameters
callback: the callback function to call, or a NULL pointer. The callback function should take two arguments: the function object of which the value has changed, and the character string describing the new advertised value.

Definition at line 318 of file yocto_realtimeclock.cpp.

int YRealTimeClock::set_unixTime ( s64  newval)

Changes the current time. Time is specifid in Unix format (number of elapsed seconds since Jan 1st, 1970).

Parameters
newval: an integer corresponding to the current time
Returns
YAPI_SUCCESS if the call succeeds.

On failure, throws an exception or returns a negative error code.

Definition at line 129 of file yocto_realtimeclock.cpp.

int YRealTimeClock::set_utcOffset ( int  newval)

Changes the number of seconds between current time and UTC time (time zone). The timezone is automatically rounded to the nearest multiple of 15 minutes.

Parameters
newval: an integer corresponding to the number of seconds between current time and UTC time (time zone)
Returns
YAPI_SUCCESS if the call succeeds.

On failure, throws an exception or returns a negative error code.

Definition at line 213 of file yocto_realtimeclock.cpp.

int YRealTimeClock::setUnixTime ( s64  newval)
inline

Definition at line 135 of file yocto_realtimeclock.h.

int YRealTimeClock::setUtcOffset ( int  newval)
inline

Definition at line 173 of file yocto_realtimeclock.h.

Y_TIMESET_enum YRealTimeClock::timeSet ( void  )
inline

Definition at line 186 of file yocto_realtimeclock.h.

s64 YRealTimeClock::unixTime ( void  )
inline

Definition at line 122 of file yocto_realtimeclock.h.

int YRealTimeClock::utcOffset ( void  )
inline

Definition at line 159 of file yocto_realtimeclock.h.

Friends And Related Function Documentation

YRealTimeClock* yFindRealTimeClock ( const string &  func)
friend

Retrieves a clock for a given identifier. The identifier can be specified using several formats:

  • FunctionLogicalName
  • ModuleSerialNumber.FunctionIdentifier
  • ModuleSerialNumber.FunctionLogicalName
  • ModuleLogicalName.FunctionIdentifier
  • ModuleLogicalName.FunctionLogicalName

This function does not require that the clock is online at the time it is invoked. The returned object is nevertheless valid. Use the method YRealTimeClock.isOnline() to test if the clock is indeed online at a given time. In case of ambiguity when looking for a clock by logical name, no error is notified: the first instance found is returned. The search is performed first by hardware name, then by logical name.

If a call to this object's is_online() method returns FALSE although you are certain that the matching device is plugged, make sure that you did call registerHub() at application initialization time.

Parameters
func: a string that uniquely characterizes the clock
Returns
a YRealTimeClock object allowing you to drive the clock.

Definition at line 296 of file yocto_realtimeclock.h.

YRealTimeClock* yFirstRealTimeClock ( void  )
friend

Starts the enumeration of clocks currently accessible. Use the method YRealTimeClock.nextRealTimeClock() to iterate on next clocks.

Returns
a pointer to a YRealTimeClock object, corresponding to the first clock currently online, or a NULL pointer if there are none.

Definition at line 307 of file yocto_realtimeclock.h.

Member Data Documentation

string YRealTimeClock::_dateTime
protected

Definition at line 86 of file yocto_realtimeclock.h.

Y_TIMESET_enum YRealTimeClock::_timeSet
protected

Definition at line 88 of file yocto_realtimeclock.h.

s64 YRealTimeClock::_unixTime
protected

Definition at line 85 of file yocto_realtimeclock.h.

int YRealTimeClock::_utcOffset
protected

Definition at line 87 of file yocto_realtimeclock.h.

YRealTimeClockValueCallback YRealTimeClock::_valueCallbackRealTimeClock
protected

Definition at line 89 of file yocto_realtimeclock.h.

const string YRealTimeClock::DATETIME_INVALID = YAPI_INVALID_STRING
static

Definition at line 106 of file yocto_realtimeclock.h.

const Y_TIMESET_enum YRealTimeClock::TIMESET_FALSE = Y_TIMESET_FALSE
static

Definition at line 108 of file yocto_realtimeclock.h.

const Y_TIMESET_enum YRealTimeClock::TIMESET_INVALID = Y_TIMESET_INVALID
static

Definition at line 110 of file yocto_realtimeclock.h.

const Y_TIMESET_enum YRealTimeClock::TIMESET_TRUE = Y_TIMESET_TRUE
static

Definition at line 109 of file yocto_realtimeclock.h.

const s64 YRealTimeClock::UNIXTIME_INVALID = YAPI_INVALID_LONG
static

Definition at line 105 of file yocto_realtimeclock.h.

const int YRealTimeClock::UTCOFFSET_INVALID = YAPI_INVALID_INT
static

Definition at line 107 of file yocto_realtimeclock.h.


The documentation for this class was generated from the following files:


yoctopuce_altimeter
Author(s): Anja Sheppard
autogenerated on Mon Jun 10 2019 15:49:14