interface ti.uia.runtime.IUIATransfer
XDCspec summary sourced in ti/uia/runtime/IUIATransfer.xdc
interface IUIATransfer {  ...
    // inherits xdc.runtime.ILogger
        // inherits xdc.runtime.IModule
instance:  ...
XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
package ti.uia.runtime;
 
interface IUIATransfer inherits IFilterLogger {
module-wide constants & types
    enum TransferType//  {
        TransferType_RELIABLE,
        TransferType_LOSSY
    };
 
        Int instanceId;
        Int priority;
    };
module-wide config parameters
 
module-wide functions
 
 
instance:
per-instance config parameters
 
    metaonly config Ptr ptrToQueueDescriptorMeta//  = null;
per-instance functions
    Bool disable// Disable a log();
    Bool enable// Enable a log();
    SizeT getMaxLength// ();
    Void write2// Process a log event with 2 arguments(Log.Event evt, Types.ModuleId mid, IArg a1, IArg a2);
    Void write4// Process a log event with up to 4 arguments(Log.Event evt, Types.ModuleId mid, IArg a1, IArg a2, IArg a3, IArg a4);
    Void write8// Process a log event with up to 8 arguments(Log.Event evt, Types.ModuleId mid, IArg a1, IArg a2, IArg a3, IArg a4, IArg a5, IArg a6, IArg a7, IArg a8);
}
 
enum IUIATransfer.TransferType
XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
enum TransferType {
    TransferType_RELIABLE,
    TransferType_LOSSY
};
 
 
metaonly struct IUIATransfer.MetaData

This data is added to the RTA MetaData file to support stop mode RTA

XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
metaonly struct MetaData {
    Int instanceId;
    Int priority;
};
 
 
config IUIATransfer.filterByLevel  // module-wide

Support filtering of events by event level

XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
config Bool filterByLevel = false;
 
DETAILS
To improve logging performance, this feature can be disabled by setting filterByLevel to false.
See 'setFilterLevel' for an explanation of level filtering.
 
metaonly config IUIATransfer.common$  // module-wide

Common module configuration parameters

XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
metaonly config Types.Common$ common$;
 
DETAILS
All modules have this configuration parameter. Its name contains the '$' character to ensure it does not conflict with configuration parameters declared by the module. This allows new configuration parameters to be added in the future without any chance of breaking existing modules.
 
metaonly IUIATransfer.getLoggerInstanceId()  // module-wide

returns the id of this logger instance

XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
metaonly function getLoggerInstanceId(inst);
 
 
metaonly IUIATransfer.getMetaArgs()  // module-wide

Returns any meta data needed to support RTA

XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
metaonly function getMetaArgs(inst, instNum);
 
DETAILS
This meta data should be returned in the form of a structure which can be converted into XML. This data is added to the RTA XML file during the application's configuration, and can be accessed later through the xdc.rta.MetaData module.
The MetaData is returned per instance of the ILogger module. The instance object is passed to the function as the first argument.
The second argument is the index of the instance in the list of the ILogger's static instances.
 
metaonly IUIATransfer.getPtrToQueueDescriptorMeta()  // module-wide

Each logger instance has a unique queue descriptor address that is stored in the Event Record header to identify itself to the host. This metaonly configuration parameter allows the UIA Metadata to determine what the address is for each statically created logger instance in order to emit XML code to allow the host to look up information about the logger instance (such as its name) based on the queue descriptor address that is stored in the event record header

XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
metaonly function getPtrToQueueDescriptorMeta(inst);
 
DETAILS
The pointer is returned per instance of the logger module. The instance object is passed to the function as the first argument.
 
metaonly IUIATransfer.setPtrToQueueDescriptorMeta()  // module-wide

Sets the queue descriptor address in the logger's object instance data

XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
metaonly function setPtrToQueueDescriptorMeta(inst, queueDescriptorAdrs);
 
 
config IUIATransfer.Params.transferType  // instance
XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
 
 
metaonly config IUIATransfer.Params.ptrToQueueDescriptorMeta  // instance
XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
metaonly config Ptr ptrToQueueDescriptorMeta = null;
 
 
IUIATransfer.disable()  // instance

Disable a log

XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
Bool disable();
 
DETAILS
Events written to a disabled log are silently discarded.
RETURNS
The function returns the state of the log (TRUE if enabled, FALSE if disabled) before the call. This return value allows clients to restore the previous state. Note: not thread safe.
 
IUIATransfer.enable()  // instance

Enable a log

XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
Bool enable();
 
RETURNS
The function returns the state of the log (TRUE if enabled, FALSE if disabled) before the call. This return value allows clients to restore the previous state. Note: not thread safe.
 
IUIATransfer.getContents()  // instance

Fills buffer that is passed in with unread data, up to size bytes in length

XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
Bool getContents(Ptr hdrBuf, SizeT size, SizeT *cpSize);
 
ARGUMENTS
hdrBuf — Ptr to a buffer that is at least <size> bytes in length
size — The max number of bytes to be read into the buffer
cpSize — The number of bytes actually copied
DETAILS
The logger is responsible for ensuring that no partial event records are stored in the buffer. Bytes are in target endianness.
RETURN
returns false if logger has no more records to read
 
IUIATransfer.getFilterLevel()  // instance

Returns the mask of diags categories currently set to the specified level

XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
Diags.Mask getFilterLevel(Diags.EventLevel level);
 
DETAILS
See 'setFilterLevel' for an explanation of level filtering.
 
IUIATransfer.getInstanceId()  // instance

Returns an ID value that uniquely identifies this instance of the logger

XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
UInt16 getInstanceId();
 
DETAILS
Note that a value of 0 is reserved to indicate that the instance ID has not been initialized yet and a unique value needs to be generated.
 
IUIATransfer.getMaxLength()  // instance
XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
SizeT getMaxLength();
 
 
IUIATransfer.getTransferType()  // instance
XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
IUIATransfer.TransferType getTransferType();
 
 
IUIATransfer.isEmpty()  // instance

Returns true if the transfer buffer has no unread data

XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
Bool isEmpty();
 
RETURN
true if no unread data
 
IUIATransfer.reset()  // instance

Reset a log to empty state and enable it

XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
Void reset();
 
WARNING
This method is not synchronized with other instance methods and, as a result, it must never be called when there is a chance that another instance method is currently in operation or when another method on this instance may preempt this call.
 
IUIATransfer.setFilterLevel()  // instance

Set the level of detail that instances will log

XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
Void setFilterLevel(Diags.Mask mask, Diags.EventLevel filterLevel);
 
ARGUMENTS
mask — The diags categories to set the level for
filterLevel — The new filtering level for the specified categories
DETAILS
Events with the specified level or higher will be logged, events below the specified level will be dropped.
Events are filtered first by diags category, then by level. If an event's diags category is disabled in the module's diags mask, then it will be filtered out regardless of level. The event will not even be passed to the logger.
This API allows for setting the filtering level for more than one diags category at a time. The mask parameter can be a single category or multiple categories combined, and the level will be set for all of those categories.
 
IUIATransfer.write0()  // instance

Process a log event with 0 arguments

XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
Void write0(Log.Event evt, Types.ModuleId mid);
 
DETAILS
Same as write4 except with 0 arguments rather than 4.
SEE
 
IUIATransfer.write1()  // instance

Process a log event with 1 arguments

XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
Void write1(Log.Event evt, Types.ModuleId mid, IArg a1);
 
DETAILS
Same as write4 except with 1 arguments rather than 4.
SEE
 
IUIATransfer.write2()  // instance

Process a log event with 2 arguments

XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
Void write2(Log.Event evt, Types.ModuleId mid, IArg a1, IArg a2);
 
DETAILS
Same as write4 except with 2 arguments rather than 4.
SEE
 
IUIATransfer.write4()  // instance

Process a log event with up to 4 arguments

XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
Void write4(Log.Event evt, Types.ModuleId mid, IArg a1, IArg a2, IArg a3, IArg a4);
 
ARGUMENTS
evt — event to be logged
mid — module ID of the module which logged the event
a1 — arbitrary argument passed by caller
DETAILS
The evt argument is of type Log.Event, which encodes the Log.EventId, the Diags.Mask, and the Diags.EventLevel of the event. The event ID can be obtained via Types.getEventId(evt), the Diags mask can be obtained via Diags.getMask(evt), and the event level can be obtained via Diags.getLevel(evt).
The modId argument is the module ID of the module that logged the event.
The event information can be used by the logger to handle different events specially. For example, the event ID can be used to compare against other known Log.Events.
      if (Log_getEventId(MY_EVENT) == Log_getEventId(evt)) {
          :
      }
The Diags mask and event level can be used for filtering of events based on event level (see IFilterLogger), or even routing events to separate loggers based on diags category (see, for example, LoggerBuf.statusLogger).
The Diags mask and event level are useful for handling the event, but are generally not recorded by the logger because they are not needed in decoding and displaying the event. A more suitable value to record is a Types.Event, which encodes the event ID and module ID. For example, the Log.EventRec type stores a Types.Event in its record definition. A Types.Event can be created using the Types.makeEvent API given the event ID and module ID.
The event ID value of 0 is used to indicate an event triggered by a call to one of the Log_print[0-6] methods. These methods take a format string rather than a Log_Event argument and, as a result, the event ID encoded in evt is 0 and the parameter a1 is the format string.
Non-zero event IDs can also be used to access the msg string associated with the Log.EventDesc that originally defined the Log event.
      Log_EventId id = Log_getEventId(evt));
      if (id != 0) {
          String msg = Text_ropeText(id);
          System_aprintf(msg, a1, a2, a3, a4);
      }
This works because an event's ID is simply an offset into a table of characters (maintained by the Text module) containing the event's msg string.
The arguments a1, a2, etc. are parameters that are to be interpreted according to the message format string associated with evt.
SEE
 
IUIATransfer.write8()  // instance

Process a log event with up to 8 arguments

XDCspec declarations sourced in ti/uia/runtime/IUIATransfer.xdc
Void write8(Log.Event evt, Types.ModuleId mid, IArg a1, IArg a2, IArg a3, IArg a4, IArg a5, IArg a6, IArg a7, IArg a8);
 
DETAILS
Same as write4 except with 8 arguments rather than 4.
SEE
generated on Tue, 14 Feb 2017 00:15:16 GMT