Base Framework
|
IEEE 1394 implementation. More...
#include <base/communication/IEEE1394Impl.h>
Inherits ReferenceCountedObject, and IEEE1394Common.
Inherited by DummyIEEE1394, and LinuxRawIEEE1394.
Public Member Functions | |
virtual bool | hasBeenReset () const =0 |
virtual void | acknowledgeReset ()=0 |
virtual void | resetBus ()=0 |
virtual Array< EUI64 > | getAdapters ()=0 |
virtual void | open ()=0 |
virtual void | open (const EUI64 &adapter)=0 |
virtual void | close ()=0 |
virtual unsigned int | getLocalId () const =0 |
virtual unsigned int | getNumberOfNodes () const =0 |
virtual unsigned int | getStatus () const =0 |
virtual unsigned int | getFIFOSize () const =0 |
virtual void | read (unsigned short node, uint64 address, uint8 *buffer, unsigned int size)=0 |
virtual void | write (unsigned short node, uint64 address, const uint8 *buffer, unsigned int size)=0 |
virtual unsigned int | read (unsigned short node, uint64 address, uint32 *buffer, unsigned int size, uint32 value)=0 |
virtual IsochronousReadChannel | getReadChannel (unsigned int maxPacketsPerRequest, uint64 subchannels)=0 |
virtual IsochronousWriteChannel | getWriteChannel (unsigned int maxPacketsPerRequest, uint64 subchannels)=0 |
virtual void | readIsochronous (unsigned int channel, unsigned int maximumPayload, IsochronousChannelListener *listener)=0 |
virtual bool | wait (unsigned int milliseconds)=0 |
virtual void | dequeue ()=0 |
virtual void | registerFCPListener (FunctionControlProtocolListener *listener)=0 |
virtual void | unregisterFCPListener ()=0 |
virtual | ~IEEE1394Impl () |
![]() | |
ReferenceCountedObject () noexcept | |
ReferenceCountedObject (const ReferenceCountedObject ©) noexcept | |
ReferenceCountedObject (ReferenceCountedObject &&move) noexcept | |
ReferenceCountedObject & | operator= (const ReferenceCountedObject ©) noexcept |
ReferenceCountedObject & | operator= (ReferenceCountedObject &&move) noexcept |
MemorySize | getNumberOfReferences_INTERNAL () const noexcept |
virtual bool | useGarbageCollector () const noexcept |
![]() | |
DynamicObject () noexcept | |
bool | isValidObject () const noexcept |
virtual | ~DynamicObject () noexcept(false) |
_COM_AZURE_DEV__BASE__OVERRIDE_ALLOC () | |
Static Public Member Functions | |
static IEEE1394Impl * | getDefault () noexcept |
![]() | |
static unsigned short | makeNodeId (unsigned int physicalId, unsigned int busId=0x3ff) noexcept |
static unsigned int | getBusId (unsigned short node) noexcept |
static bool | isLocalBus (unsigned short node) noexcept |
static unsigned int | getPhysicalId (unsigned short node) noexcept |
static bool | isBroadcast (unsigned short node) noexcept |
Additional Inherited Members | |
![]() | |
enum | Standard { STANDARD_UNSPECIFIED, STANDARD_IEEE_1394, STANDARD_IEEE_1394A, STANDARD_IEEE_1394B } |
enum | IsochronousRequestType { NOT_A_REQUEST, READ_PACKETS_REQUEST, READ_FIXED_PACKETS_REQUEST, READ_FIXED_DATA_REQUEST, WRITE_PACKETS_REQUEST, WRITE_FIXED_PACKETS_REQUEST, WRITE_DATA_REQUEST } |
enum | IsochronousRequestStatus { READY, PENDING, ERROR, TIMEDOUT, COMPLETED } |
enum | Status { STATUS_OK, STATUS_INCOMPATIBLE, STATUS_INTERNAL, STATUS_CONFLICT, STATUS_BUSY, STATUS_ABORTED, STATUS_TIMEOUT, STATUS_ERROR } |
enum | Speed { S100, S200, S400, S800, S1600, S3200 } |
enum | AcknowledgeCode { ACK_RESERVED_0, ACK_COMPLETE, ACK_PENDING, ACK_RESERVED_3, ACK_BUSY_X, ACK_BUSY_A, ACK_BUSY_B, ACK_RESERVED_7, ACK_RESERVED_8, ACK_RESERVED_9, ACK_RESERVED_10, ACK_RESERVED_11, ACK_RESERVED_12, ACK_DATA_ERROR, ACK_TYPE_ERROR, ACK_RESERVED_15 } |
enum | ResponseCode { RCODE_COMPLETE, RCODE_RESERVED_1, RCODE_RESERVED_2, RCODE_RESERVED_3, RCODE_CONFLICT_ERROR, RCODE_DATA_ERROR, RCODE_TYPE_ERROR, RCODE_ADDRESS_ERROR, RCODE_RESERVED_8, RCODE_RESERVED_9, RCODE_RESERVED_10, RCODE_RESERVED_11, RCODE_RESERVED_12, RCODE_RESERVED_13, RCODE_RESERVED_14, RCODE_RESERVED_15 } |
enum | TransactionCode { TCODE_WRITE_REQUEST_FOR_DATA_QUADLET, TCODE_WRITE_REQUEST_FOR_DATA_BLOCK, TCODE_WRITE_RESPONSE, TCODE_RESERVED_3, TCODE_READ_REQUEST_FOR_DATA_QUADLET, TCODE_READ_REQUEST_FOR_DATA_BLOCK, TCODE_READ_RESPONSE_FOR_DATA_QUADLET, TOCDE_READ_RESPONSE_FOR_DATA_BLOCK, TCODE_CYCLE_START, TCODE_LOCK_REQUEST, TCODE_ISOCHRONOUS_DATA_BLOCK, TCODE_LOCK_RESPONSE, TCODE_RESERVED_12, TCODE_RESERVED_13, TCODE_RESERVED_14, TCODE_RESERVED_15 } |
enum | LockInstruction { MASK_SWAP, COMPARE_SWAP, FETCH_ADD, LITTLE_FETCH_ADD, BOUNDED_ADD, WRAP_ADD } |
enum | IsochronousRequestOption { SWAP_BYTE_ORDER = 1 } |
typedef BigEndian< uint32 > | Quadlet |
![]() | |
static const unsigned int | BROADCAST = 63 |
static const unsigned int | LOCAL_BUS = 1023 |
static const unsigned int | ISOCHRONOUS_CHANNELS = 64 |
static const unsigned int | MAXIMUM_ATTEMPTS = 5 |
![]() | |
static Reference< IsochronousReadPacketsRequestImpl > | getContext (IsochronousReadPacketsRequest &request) noexcept |
static Reference< IsochronousReadFixedPacketsRequestImpl > | getContext (IsochronousReadFixedPacketsRequest &request) noexcept |
static Reference< IsochronousReadFixedDataRequestImpl > | getContext (IsochronousReadFixedDataRequest &request) noexcept |
static Reference< IsochronousReadRequestImpl > | getContext (IsochronousReadRequest &request) noexcept |
static Reference< IsochronousWritePacketsRequestImpl > | getContext (IsochronousWritePacketsRequest &request) noexcept |
static Reference< IsochronousWriteFixedPacketsRequestImpl > | getContext (IsochronousWriteFixedPacketsRequest &request) noexcept |
static Reference< IsochronousWriteDataRequestImpl > | getContext (IsochronousWriteDataRequest &request) noexcept |
static Reference< IsochronousWriteRequestImpl > | getContext (IsochronousWriteRequest &request) noexcept |
IEEE 1394 implementation.
IEEE 1394 implementation.
|
virtual |
Destroys the IEEE 1394 implementation.
|
pure virtual |
Acknowledges the bus reset.
Implemented in DummyIEEE1394, and LinuxRawIEEE1394.
|
pure virtual |
Closes this handle to the adapter. The adapter is destroyed when all handles have been closed.
Implemented in LinuxRawIEEE1394, and DummyIEEE1394.
Returns the adapters available.
Implemented in LinuxRawIEEE1394, and DummyIEEE1394.
|
staticnoexcept |
Returns the default IEEE 1394 implementation.
|
pure virtual |
Returns the size of the FIFO.
Implemented in LinuxRawIEEE1394, and DummyIEEE1394.
|
pure virtual |
Returns the physical id of the adapter.
Implemented in LinuxRawIEEE1394, and DummyIEEE1394.
|
pure virtual |
Returns the number of nodes on the local bus.
Implemented in LinuxRawIEEE1394, and DummyIEEE1394.
|
pure virtual |
Returns an isochronous read channel.
maxPacketsPerRequest | The maximum number of packets per request. |
subchannel | Mask specifying the subchannel to reserve for this channel. |
Implemented in LinuxRawIEEE1394, and DummyIEEE1394.
|
pure virtual |
Returns the current error status.
Implemented in LinuxRawIEEE1394, and DummyIEEE1394.
|
pure virtual |
Returns an isochronous write channel.
maxPacketsPerRequest | The maximum number of packets per request. |
subchannel | Mask specifying the subchannel to reserve for this channel. |
Implemented in LinuxRawIEEE1394, and DummyIEEE1394.
|
pure virtual |
Returns true if the bus has been reset since last check.
Implemented in DummyIEEE1394, and LinuxRawIEEE1394.
|
pure virtual |
Opens a connection to the primary adapter.
Implemented in LinuxRawIEEE1394, and DummyIEEE1394.
|
pure virtual |
Opens a connection to the specified adapter.
adapter | The id of the adapter. |
Implemented in LinuxRawIEEE1394, and DummyIEEE1394.
|
pure virtual |
Read data from device. This method is only used for debugging and development.
node | The node id of source node. |
address | The base address of the memory region to read from (must be a quadlet boundary). |
buffer | The data buffer. |
size | The number of quadlets to read (not bytes!). |
value | The default value to store in the buffer for unsuccessful reads. |
Implemented in LinuxRawIEEE1394, and DummyIEEE1394.
|
pure virtual |
Read data from device.
node | The node id of source node. |
address | The base address of the memory region to read from. |
buffer | The data buffer. |
size | The number of bytes to read (must be an integral number of quadlets). |
Implemented in LinuxRawIEEE1394, and DummyIEEE1394.
|
pure virtual |
Starts an isochronous packet listener.
channel | The isochronous channel [0; 63]. |
maximumPayload | The maximum payload of a packet. |
listener | The listener to be notified on incoming packets. |
Implemented in LinuxRawIEEE1394, and DummyIEEE1394.
|
pure virtual |
Resets the bus.
Implemented in LinuxRawIEEE1394, and DummyIEEE1394.
|
pure virtual |
Write data to device.
node | The node id of destination node. |
address | The base address of the memory region to write to. |
buffer | The data buffer. |
size | The number of bytes to write (must be an integral number of quadlets). |
Implemented in LinuxRawIEEE1394, and DummyIEEE1394.