Port attachable to a chunk in a buffer. More...
#include <ChunkPort.h>
Public Member Functions | |
| void | AttachChunk (uint8_t *pBaseAddress, int64_t ChunkOffset, int64_t Length, bool Cache) |
| Attaches the Chunk to the ChunkPort. | |
| bool | AttachPort (GENAPI_NAMESPACE::IPort *pPort) |
| Attaches the ChunkPort to the Port. | |
| CChunkPort (IPort *pPort=NULL) | |
| Constructor; can attach to a port. | |
| bool | CheckChunkID (uint8_t *pChunkIDBuffer, int ChunkIDLength) |
| Checks if a ChunkID matches. | |
| bool | CheckChunkID (uint64_t ChunkID) |
| Checks if a ChunkID matches, version using uint64_t ID representation. | |
| void | ClearCache () |
| Clears the chunk cache. | |
| void | DetachChunk () |
| Detaches the Chunk from the ChunkPort. | |
| void | DetachPort () |
| Detaches the ChunkPort to the Port. | |
| virtual EAccessMode | GetAccessMode () const |
| Get the access mode of the node. | |
| int | GetChunkIDLength () |
| Gets the ChunkID length. | |
| virtual EInterfaceType | GetPrincipalInterfaceType () const |
| Get the type of the main interface of a node. | |
| virtual EYesNo | GetSwapEndianess () |
| Determines if the port adapter must perform an endianess swap. | |
| void | InvalidateNode () |
| virtual void | Read (void *pBuffer, int64_t Address, int64_t Length) |
| Reads a chunk of bytes from the port. | |
| virtual void | SetPortImpl (GENAPI_NAMESPACE::IPort *pPort) |
| Called from the port node to give the chunk port a pointer to itself. | |
| void | UpdateBuffer (uint8_t *pBaseAddress) |
| Updates the base address of the chunk. | |
| virtual void | Write (const void *pBuffer, int64_t Address, int64_t Length) |
| Writes a chunk of bytes to the port. | |
| virtual | ~CChunkPort () |
| Destructor; detaches from the port. | |
Protected Member Functions | |
| CLock & | GetLock () const |
Protected Attributes | |
| bool | m_CacheData |
| indicates if the data needs to be cached | |
| int | m_ChunkIDLength |
| Length of the chunk ID buffer. | |
| uint64_t | m_ChunkIDNumber |
| Chunk ID stored as a number (for more straightforward access) | |
| bool | m_ChunkIDNumberValid |
| indicates if the m_ChunkIDNumber is valid (could be invalid eg. if the ID does not fit in 64-bit range) | |
| int64_t | m_ChunkOffset |
| The chunk's offset within the buffer. | |
| int64_t | m_Length |
| Length of the chunk. | |
| int64_t | m_LengthAlloc |
| Space allocated for the chunk. | |
| uint8_t * | m_pBaseAddress |
| Pointer to the begin of the buffer. | |
| uint8_t * | m_pChunkData |
| cache for the chunk data | |
| uint8_t * | m_pChunkIDBuffer |
| Binary version of the chunk ID. | |
| CNodePtr | m_ptrPort |
| Pointer to the node holding a reference to this implementation. | |
Port attachable to a chunk in a buffer.
Definition at line 48 of file ChunkPort.h.
| GENAPI_NAMESPACE::CChunkPort::CChunkPort | ( | IPort * | pPort = NULL | ) |
Constructor; can attach to a port.
| virtual GENAPI_NAMESPACE::CChunkPort::~CChunkPort | ( | ) | [virtual] |
Destructor; detaches from the port.
| void GENAPI_NAMESPACE::CChunkPort::AttachChunk | ( | uint8_t * | pBaseAddress, |
| int64_t | ChunkOffset, | ||
| int64_t | Length, | ||
| bool | Cache | ||
| ) |
Attaches the Chunk to the ChunkPort.
Attaches the ChunkPort to the Port.
| bool GENAPI_NAMESPACE::CChunkPort::CheckChunkID | ( | uint8_t * | pChunkIDBuffer, |
| int | ChunkIDLength | ||
| ) |
Checks if a ChunkID matches.
| bool GENAPI_NAMESPACE::CChunkPort::CheckChunkID | ( | uint64_t | ChunkID | ) |
Checks if a ChunkID matches, version using uint64_t ID representation.
Clears the chunk cache.
Detaches the Chunk from the ChunkPort.
Detaches the ChunkPort to the Port.
| virtual EAccessMode GENAPI_NAMESPACE::CChunkPort::GetAccessMode | ( | ) | const [virtual] |
Get the access mode of the node.
| int GENAPI_NAMESPACE::CChunkPort::GetChunkIDLength | ( | ) | [inline] |
Gets the ChunkID length.
Definition at line 108 of file ChunkPort.h.
| CLock& GENAPI_NAMESPACE::CChunkPort::GetLock | ( | ) | const [inline, protected] |
Definition at line 126 of file ChunkPort.h.
| virtual EInterfaceType GENAPI_NAMESPACE::CChunkPort::GetPrincipalInterfaceType | ( | ) | const [virtual] |
Get the type of the main interface of a node.
| virtual EYesNo GENAPI_NAMESPACE::CChunkPort::GetSwapEndianess | ( | ) | [inline, virtual] |
Determines if the port adapter must perform an endianess swap.
Definition at line 79 of file ChunkPort.h.
| virtual void GENAPI_NAMESPACE::CChunkPort::Read | ( | void * | pBuffer, |
| int64_t | Address, | ||
| int64_t | Length | ||
| ) | [virtual] |
Reads a chunk of bytes from the port.
| virtual void GENAPI_NAMESPACE::CChunkPort::SetPortImpl | ( | GENAPI_NAMESPACE::IPort * | pPort | ) | [virtual] |
Called from the port node to give the chunk port a pointer to itself.
| void GENAPI_NAMESPACE::CChunkPort::UpdateBuffer | ( | uint8_t * | pBaseAddress | ) |
Updates the base address of the chunk.
| virtual void GENAPI_NAMESPACE::CChunkPort::Write | ( | const void * | pBuffer, |
| int64_t | Address, | ||
| int64_t | Length | ||
| ) | [virtual] |
Writes a chunk of bytes to the port.
bool GENAPI_NAMESPACE::CChunkPort::m_CacheData [protected] |
indicates if the data needs to be cached
Definition at line 163 of file ChunkPort.h.
int GENAPI_NAMESPACE::CChunkPort::m_ChunkIDLength [protected] |
Length of the chunk ID buffer.
Definition at line 157 of file ChunkPort.h.
uint64_t GENAPI_NAMESPACE::CChunkPort::m_ChunkIDNumber [protected] |
Chunk ID stored as a number (for more straightforward access)
Definition at line 166 of file ChunkPort.h.
indicates if the m_ChunkIDNumber is valid (could be invalid eg. if the ID does not fit in 64-bit range)
Definition at line 169 of file ChunkPort.h.
int64_t GENAPI_NAMESPACE::CChunkPort::m_ChunkOffset [protected] |
The chunk's offset within the buffer.
Definition at line 142 of file ChunkPort.h.
int64_t GENAPI_NAMESPACE::CChunkPort::m_Length [protected] |
Length of the chunk.
Definition at line 145 of file ChunkPort.h.
int64_t GENAPI_NAMESPACE::CChunkPort::m_LengthAlloc [protected] |
Space allocated for the chunk.
Definition at line 148 of file ChunkPort.h.
uint8_t* GENAPI_NAMESPACE::CChunkPort::m_pBaseAddress [protected] |
Pointer to the begin of the buffer.
Definition at line 139 of file ChunkPort.h.
uint8_t* GENAPI_NAMESPACE::CChunkPort::m_pChunkData [protected] |
cache for the chunk data
Definition at line 160 of file ChunkPort.h.
uint8_t* GENAPI_NAMESPACE::CChunkPort::m_pChunkIDBuffer [protected] |
Binary version of the chunk ID.
Definition at line 154 of file ChunkPort.h.
CNodePtr GENAPI_NAMESPACE::CChunkPort::m_ptrPort [protected] |
Pointer to the node holding a reference to this implementation.
Definition at line 151 of file ChunkPort.h.