interface ti.uia.runtime.IUIATransfer

index URL

*       C synopsis

*  Individual elements

XDCspec summary

sourced in ti/uia/runtime/IUIATransfer.xdc

interface IUIATransfer {  ...

// inherits xdc.runtime.IFilterLogger

    // 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

    };

 

    metaonly struct MetaData// This data is added to the RTA MetaData file to support stop mode RTA {

        Int instanceId;

        Int priority;

    };

module-wide config parameters

    config Bool filterByLevel// Support filtering of events by event level = false;

 

    metaonly config Types.Common$ common$// Common module configuration parameters;

module-wide functions

    metaonly function getLoggerInstanceId// returns the id of this logger instance(inst);

    metaonly function getMetaArgs// Returns any meta data needed to support RTA(inst, instNum);

    metaonly function getPtrToQueueDescriptorMeta// 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(inst);

    metaonly function setPtrToQueueDescriptorMeta// Sets the queue descriptor address in the logger's object instance data(inst, queueDescriptorAdrs);

 

 

instance:

per-instance config parameters

    config IUIATransfer.TransferType transferType//  = IUIATransfer.TransferType_LOSSY;

 

    metaonly config Ptr ptrToQueueDescriptorMeta//  = null;

per-instance functions

    Bool disable// Disable a log();

    Bool enable// Enable a log();

    Bool getContents// Fills buffer that is passed in with unread data, up to size bytes in length(Ptr hdrBuf, SizeT size, SizeT *cpSize);

    Diags.Mask getFilterLevel// Returns the mask of diags categories currently set to the specified level(Diags.EventLevel level);

    UInt16 getInstanceId// Returns an ID value that uniquely identifies this instance of the logger();

    SizeT getMaxLength// ();

    IUIATransfer.TransferType getTransferType// ();

    Bool isEmpty// Returns true if the transfer buffer has no unread data();

    Void reset// Reset a log to empty state and enable it();

    Void setFilterLevel// Set the level of detail that instances will log(Diags.Mask mask, Diags.EventLevel filterLevel);

    Void write0// Process a log event with 0 arguments(Log.Event evt, Types.ModuleId mid);

    Void write1// Process a log event with 1 arguments(Log.Event evt, Types.ModuleId mid, IArg a1);

    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

index URL

XDCspec declarations

sourced in ti/uia/runtime/IUIATransfer.xdc

enum TransferType {

    TransferType_RELIABLE,

    TransferType_LOSSY

};

 

 

 

IUIATransfer.disable()  // instance

index URL

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

index URL

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.getMaxLength()  // instance

index URL

XDCspec declarations

sourced in ti/uia/runtime/IUIATransfer.xdc

SizeT getMaxLength();

 

 

IUIATransfer.isEmpty()  // instance

index URL

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

index URL

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.write0()  // instance

index URL

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

ILogger.write4()

 

IUIATransfer.write1()  // instance

index URL

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

ILogger.write4()

 

IUIATransfer.write2()  // instance

index URL

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

ILogger.write4()

 

IUIATransfer.write4()  // instance

index URL

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

Log.Event, Log.EventDesc, Text.ropeText, Log.getEventId

 

IUIATransfer.write8()  // instance

index URL

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

ILogger.write4()

generated on Wed, 14 Mar 2012 16:46:09 GMT