The start and stop fields of a time interval are of type CORBA::ULongLong. Their values are numbers of 10-7 seconds (or 100 nanoseconds) counted from 00:00:00, Oct. 15, 1582 using Greenwich Mean Time (GMT).Although the start and stop time unit is specified by OMG as 10-7 second, the actual time resolution supported by VisiTelcoLog is in seconds. Start and stop values specified in set_interval() will be rounded to the nearest value of full seconds by the VisiTelcoLog Service.If the start and stop values are both set to 0 (zero), or rounded to zero seconds, the log will always be in a functional state.To retrieve the current log duration setting, users can call the get_interval() operation on the target log.Log scheduling allows users to set a series of fine-grained weekly time intervals (weekly masks) on a given log object. When scheduling is set up the log object will only allow writing log records or events to the log within these time intervals, if it is within a log duration (see “Log duration”), and the log is in an unlocked and enabled state.The input parameter and return value of above methods are an IDL sequence of an IDL structure WeekMaskItem. They are defined as:The following C++ code snippet illustrates how to use set_week_mask():The following C++ code snippet illustrates how to use get_week_mask() and process the result:On processing set_week_mask() requests, the log object server validates the input weekly mask parameter. Exceptions that are raised on set_week_mask() and their corresponding weekly mask setting errors are explained in the following table.
Case 2: Time intervals overlap. Start or stop time of one scheduled interval is within the bounds of another scheduled interval in the same weekly mask parameter.On failure of set_week_mask() due to errors, the log's existing weekly mask will remain and a DsLogNotification::ProcessingErrorAlarm log event (see “Log generated events”) will be sent. On success of set_week_mask() the existing weekly mask will be completely replaced by the new weekly mask. Therefore, to completely erase an existing weekly mask, the application can invoke set_week_mask() with an empty weekly mask that is a weekly mask of length zero. A log with an empty weekly mask will accept logging during the whole week.According to the OMG Telecom Log Service specification, event-aware Log factories and logs can generate events on log object creation and deletion, state and attribute change, threshold crossover, and processing error. A value-added extension of the VisiTelcoLog Service allows a BasicLog object to generate these events. These log generated events are called log events. Therefore, in VisiTelcoLog Service, a log factory (Basic, Event, TypedEvent, Notify, or TypedNotify factory) is a CosNotifyChannelAdmin::ConsumerAdmin.