Base Classes

Description

The following are the Base Classes for C++.

SKC_Message

The SKC_Message class is the base class for all messages. An object of this class knows how to send itself to the switch, and can be asked for its message tag, message type, and message name. Furthermore, a pointer to the MsgStruct that serves as its underlying representation can be returned with a call to getStructPtr().

SKC_ToolkitMessage

This class is the base class for all messages that are defined for SwitchKit specific functions.

SKC_DummyMessage

This is the base class for the dummy messages. Dummy messages are specific to SwitchManager configuration files and are for internal SwitchKit use only. Do not use dummy messages for your application development.

SKC_AdminMessage

This is the base class for messages that perform LLC administrative tasks. Do not use these administrative messages for your application development.

SKC_ToolkitAck

This class is the base class for all Toolkit messages that are acknowledgments to a previously sent message.

SKC_TollkitInbound

This is the base class for unsolicited messages from the LLC. These are messages that are generated inside the LLC for the benefit of application developers. An example of an SKC_ToolkitInbound message would be SKC_ConnectionStatusMsg.

XLC_SwitchMessage

All message classes that correspond to EXS-defined messages are derived from this class. This class defines a notion of message size, which corresponds to the size of an EXS variably-sized message.

XLC_OutboundMessage

An XLC_OutboundMessage is an XLC_SwitchMessage that is going out to the switch (that is, a host-initiated message).

XLC_InboundMessage

An XLC_InboundMessage is an XLC_SwitchMessage that is coming in from the switch (that is, an Excel platform-initiated message). It is not an acknowledgment.

XLC_Acknowledge
Message

An XLC_AcknowledgeMessage is an XLC_SwitchMessage that is coming in from the switch in response to a previously sent outbound message.

XLC_ExpandedNode
Inbound

An XLC_ExpandedNodeInbound is an XLC_Message that includes the Expanded Logical Node ID AIB.

XLC_OneChannelMessage

An XLC_OneChannelMessage is an XLC_InboundMessage that is occurring on a specific channel. It defines functions for getting the message’s relevant span and channel. An example of this would be a Request For Service message.

XLC_SpanRangeMessage

An XLC_SpanRangeMessage is an XLC_OutboundMessage that applies to a range of spans. It defines functions for getting and setting the starting and ending message span. The only current XLC_SpanRangeMessage is XLC_J1SpanConfig.

XLC_ChanRangeMessage

An XLC_ChanRangeMessage is an XLC_SpanRangeMessage that not only has a starting and ending span, but also has a starting and ending channel. The message applies to all of the channels between the starting span channel pair and the ending span channel pair. Most configuration messages are XLC_ChanRangeMessages.

XLC_SlotMessage

An XLC_SlotMessage is an XLC_OutboundMessage that acts on a specific slot. It defines functions for getting and setting the target slot.

XLC_SpanMessage

An XLC_SpanMessage is an XLC_OutboundMessage that acts on a specific span. It defines functions for getting and setting the target span.

XLC_OneChannel
Outbound

An XLC_OneChannelOutbound is an XLC_OutboundMessage that acts on a specific channel. It is equivalent to XLC_OneChannelMessage, except that it applies to host-initiated messages instead of switch-initiated messages. An example of an XLC_OneChannelMessage is XLC_ChannelParameterQuery.

Derived Leaf Message Objects

All leaf message objects are derived from the base classes described above. The definitions of these objects are found in CMessages.api.h. CMessages.api.CPP contains the implementation of these objects. Their constructors all automatically initialize the underlying C structure, so you don’t need to call sk_initMsg.

For example, to send a CardStatusQuery to the card in Slot 3 through the C++ API, you would enter:

XLC_CardStatusQuery csq;

csq.setSlot(3);

csq.send(tag, handlerFunction);