FireSync API
 All Classes Files Functions Variables Typedefs Friends Macros Modules Pages
kPxIoBlock Class Reference

Description

Pipe block that accepts external input or emits external output.

kPxIoBlock can be used to interface external modules (e.g. cameras) to the pipe processing environment. To submit messages to the pipe, output ports can be defined and the thread-safe kPxBlock_Send function can be used to send messages. To receive messages from the pipe, input ports can be defined and the kPxIoBlock_SetReceiveHandler can be used to hook messages received on those ports.

This block type can also be used in unit testing to exchange messagse with a kPxPipe instance.

Inheritance diagram for kPxIoBlock:
Inheritance graph

Public Member Functions

kStatus kPxIoBlock_EmitOutput (kPxIoBlock block, kPxPort port, kMsgInfo msgInfo)
 Sends an output message from this block. More...
 
kStatus kPxIoBlock_SetReceiveHandler (kPxIoBlock block, kCallbackFx function, kPointer receiver)
 Sets a callback to hook messages received by this block. More...
 
- Public Member Functions inherited from kPxBlock
kStatus kPxBlock_AssignGroup (kPxBlock block, k32u groupId)
 Assigns this block to a processing group. More...
 
kStatus kPxBlock_Construct (kPxBlock *block, kType type, const kChar *name, k32u nodeId, k32u blockId, kPxEnviron pipeEnviron, kAlloc allocator)
 Factory constructor for block objects. More...
 
kStatus kPxBlock_DefineInput (kPxBlock block, const kChar *name, k32u id, kPxPort *port)
 Defines an input port for a block. More...
 
kStatus kPxBlock_DefineOutput (kPxBlock block, const kChar *name, k32u id, kPxPort *port)
 Defines an output port for a block. More...
 
const kCharkPxBlock_Description (kType type)
 Given a kPxBlock subclass type, gets a description of the class. More...
 
kStatus kPxBlock_EnableQueuedInputs (kPxBlock block, kBool enabled)
 Enables the use of queued input ports. More...
 
kStatus kPxBlock_Engage (kPxBlock block)
 Executes a block's OnEngage method. More...
 
kStatus kPxBlock_FindPort (kPxBlock block, k32u id, kPxPort *port)
 Finds the port object corresponding to the given id. More...
 
kStatus kPxBlock_FindVariable (kPxBlock block, const kChar *name, kObject *object)
 Gets a reference to a named object. More...
 
k32u kPxBlock_GroupId (kPxBlock block)
 Gets the processing group id associated with this block. More...
 
kBool kPxBlock_HasAllInputs (kPxBlock block)
 For blocks with queued inputs, reports whether each input has at least one message available. More...
 
k32u kPxBlock_Id (kPxBlock block)
 Gets the unique numeric identifier for this block instance. More...
 
kBool kPxBlock_IsGrouped (kPxBlock block)
 Reports whether this block is assigned to a processing group. More...
 
const kCharkPxBlock_Name (kPxBlock block)
 Gets a descriptive name for the block instance. More...
 
kPxPort kPxBlock_PortAt (kPxBlock block, kSize index)
 Gets the port at the specified index. More...
 
kSize kPxBlock_PortCount (kPxBlock block)
 Gets the number of ports belonging to the block. More...
 
kStatus kPxBlock_Process (kPxBlock block, kPxPort port, kMsgInfo msgInfo)
 Executes a block's OnReceive method. More...
 
kStatus kPxBlock_Send (kPxBlock block, kPxPort port, kMsgSet msg)
 Sends a message on a specific port. More...
 
kStatus kPxBlock_SetDropHandler (kPxBlock block, kCallbackFx function, kPointer receiver)
 Sets a callback to provide notifications when this block drops a message. More...
 
kStatus kPxBlock_SetSendHandler (kPxBlock block, kCallbackFx function, kPointer receiver)
 Sets a callback to receive messages sent by this block. More...
 
kXml kPxBlock_Settings (kPxBlock block)
 Returns the block's internal settings. More...
 
kStatus kPxBlock_Setup (kPxBlock block)
 Executes a block's OnSetup method. More...
 
kStatus kPxBlock_Start (kPxBlock block)
 Executes a block's OnStart method. More...
 
kStatus kPxBlock_Stop (kPxBlock block)
 Executes a block's OnStop method. More...
 
kBitArray kPxBlock_ThreadAffinity (kPxBlock block)
 Reports the configured pipe thread affinity. More...
 
kThreadPriorityClass kPxBlock_ThreadPriorityClass (kPxBlock block)
 Reports the configured pipe thread priority class. More...
 
k32s kPxBlock_ThreadPriorityOffset (kPxBlock block)
 Reports the configured pipe thread priority offset. More...
 

Additional Inherited Members

- Protected Member Functions inherited from kPxBlock
kStatus kPxBlock_FilePath (kPxBlock block, const kChar *fileName, kChar *filePath, kSize capacity)
 Gets the full path for a given file name used by this block. More...
 
kHealth kPxBlock_Health (kPxBlock block)
 Gets a health service provider that can be used when constructing health or profiling probes. More...
 
kAlloc kPxBlock_MessageAlloc (kPxBlock block)
 Gets an allocator that should be used to construct output messages. More...
 
kStatus kPxBlock_NotifyDrop (kPxBlock block)
 Notifies the processing environment that this block has dropped data. More...
 
kStatus kPxBlock_OnEngage (kPxBlock block)
 Virtual method that can be overridden to perform custom actions when a block is engaged. More...
 
kStatus kPxBlock_OnReceive (kPxBlock block, kPxPort port, kMsgSet msg)
 Virtual method that can be overridden to perform custom actions when a messages is received. More...
 
kStatus kPxBlock_OnSetup (kPxBlock block)
 Virtual method that can be overridden to perform custom block setup. More...
 
kStatus kPxBlock_OnStart (kPxBlock block)
 Virtual method that can be overridden to perform custom actions when a block is started. More...
 
kStatus kPxBlock_OnStop (kPxBlock block)
 Virtual method that can be overridden to perform custom actions when a block is stopped. More...
 
kStatus kPxBlock_Printf (kPxBlock block, const kChar *format,...)
 Prints a diagnostic message. More...
 
kMsgSource kPxBlock_Sender (kPxBlock block)
 Returns information about the source of the message currently being processed. More...
 
k64u kPxBlock_Timestamp (kPxBlock block)
 Within an embedded node environment, this method can be used to access the current FireSync synchnronization time. More...
 

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