tlm::tlm_generic_payload Class Reference

#include <tlm_gp.h>

Collaboration diagram for tlm::tlm_generic_payload:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 tlm_generic_payload ()
 tlm_generic_payload (tlm_mm_interface *mm)
void acquire ()
void release ()
int get_ref_count ()
void set_mm (tlm_mm_interface *mm)
bool has_mm ()
void reset ()
void deep_copy_from (const tlm_generic_payload &other)
void update_extensions_from (const tlm_generic_payload &other)
void free_all_extensions ()
virtual ~tlm_generic_payload ()
bool is_read () const
void set_read ()
bool is_write () const
void set_write ()
tlm_command get_command () const
void set_command (const tlm_command command)
sc_dt::uint64 get_address () const
void set_address (const sc_dt::uint64 address)
unsigned char * get_data_ptr () const
void set_data_ptr (unsigned char *data)
unsigned int get_data_length () const
void set_data_length (const unsigned int length)
bool is_response_ok () const
bool is_response_error () const
tlm_response_status get_response_status () const
void set_response_status (const tlm_response_status response_status)
std::string get_response_string () const
unsigned int get_streaming_width () const
void set_streaming_width (const unsigned int streaming_width)
unsigned char * get_byte_enable_ptr () const
void set_byte_enable_ptr (unsigned char *byte_enable)
unsigned int get_byte_enable_length () const
void set_byte_enable_length (const unsigned int byte_enable_length)
void set_dmi_allowed (bool dmi_allowed)
bool is_dmi_allowed () const
template<typename T>
T * set_extension (T *ext)
tlm_extension_baseset_extension (unsigned int index, tlm_extension_base *ext)
template<typename T>
T * set_auto_extension (T *ext)
tlm_extension_baseset_auto_extension (unsigned int index, tlm_extension_base *ext)
template<typename T>
void get_extension (T *&ext) const
template<typename T>
T * get_extension () const
tlm_extension_baseget_extension (unsigned int index) const
template<typename T>
void clear_extension (const T *ext)
template<typename T>
void clear_extension ()
template<typename T>
void release_extension (T *ext)
template<typename T>
void release_extension ()
void resize_extensions ()

Private Member Functions

 tlm_generic_payload (const tlm_generic_payload &x)
tlm_generic_payloadoperator= (const tlm_generic_payload &x)
void clear_extension (unsigned int index)
void release_extension (unsigned int index)

Private Attributes

sc_dt::uint64 m_address
tlm_command m_command
unsigned char * m_data
unsigned int m_length
tlm_response_status m_response_status
bool m_dmi
unsigned char * m_byte_enable
unsigned int m_byte_enable_length
unsigned int m_streaming_width
tlm_array
< tlm_extension_base * > 
m_extensions
tlm_mm_interfacem_mm
unsigned int m_ref_count


Detailed Description

Definition at line 108 of file tlm_gp.h.


Constructor & Destructor Documentation

tlm::tlm_generic_payload::tlm_generic_payload (  )  [inline]

Definition at line 116 of file tlm_gp.h.

tlm::tlm_generic_payload::tlm_generic_payload ( tlm_mm_interface mm  )  [inline, explicit]

Definition at line 132 of file tlm_gp.h.

tlm::tlm_generic_payload::tlm_generic_payload ( const tlm_generic_payload x  )  [inline, private]

Definition at line 163 of file tlm_gp.h.

References get_extension(), and m_extensions.

Here is the call graph for this function:

virtual tlm::tlm_generic_payload::~tlm_generic_payload (  )  [inline, virtual]

Definition at line 289 of file tlm_gp.h.

References m_extensions.


Member Function Documentation

void tlm::tlm_generic_payload::acquire (  )  [inline]

Definition at line 148 of file tlm_gp.h.

References m_mm, and m_ref_count.

void tlm::tlm_generic_payload::release (  )  [inline]

Definition at line 149 of file tlm_gp.h.

References tlm::tlm_mm_interface::free(), m_mm, and m_ref_count.

Here is the call graph for this function:

int tlm::tlm_generic_payload::get_ref_count (  )  [inline]

Definition at line 150 of file tlm_gp.h.

References m_ref_count.

void tlm::tlm_generic_payload::set_mm ( tlm_mm_interface mm  )  [inline]

Definition at line 151 of file tlm_gp.h.

References m_mm.

bool tlm::tlm_generic_payload::has_mm (  )  [inline]

Definition at line 152 of file tlm_gp.h.

References m_mm.

Referenced by deep_copy_from().

void tlm::tlm_generic_payload::reset (  )  [inline]

Definition at line 154 of file tlm_gp.h.

References m_extensions.

Referenced by tlm_utils::simple_target_socket_tagged< MODULE, BUSWIDTH, TYPES >::fw_process::free(), and tlm_utils::simple_target_socket< MODULE, BUSWIDTH, TYPES >::fw_process::free().

tlm_generic_payload& tlm::tlm_generic_payload::operator= ( const tlm_generic_payload x  )  [inline, private]

Definition at line 183 of file tlm_gp.h.

References get_address(), get_byte_enable_length(), get_byte_enable_ptr(), get_command(), get_data_length(), get_data_ptr(), get_extension(), get_response_status(), get_streaming_width(), is_dmi_allowed(), m_address, m_byte_enable, m_byte_enable_length, m_command, m_data, m_dmi, m_extensions, m_length, m_response_status, and m_streaming_width.

Here is the call graph for this function:

void tlm::tlm_generic_payload::deep_copy_from ( const tlm_generic_payload other  )  [inline]

Definition at line 207 of file tlm_gp.h.

References get_address(), get_byte_enable_length(), get_command(), get_data_length(), get_response_status(), get_streaming_width(), has_mm(), is_dmi_allowed(), m_address, m_byte_enable, m_byte_enable_length, m_command, m_data, m_dmi, m_extensions, m_length, m_response_status, m_streaming_width, set_auto_extension(), and set_extension().

Here is the call graph for this function:

void tlm::tlm_generic_payload::update_extensions_from ( const tlm_generic_payload other  )  [inline]

Definition at line 257 of file tlm_gp.h.

References m_extensions.

void tlm::tlm_generic_payload::free_all_extensions (  )  [inline]

Definition at line 274 of file tlm_gp.h.

References m_extensions.

bool tlm::tlm_generic_payload::is_read (  )  const [inline]

Definition at line 299 of file tlm_gp.h.

References m_command, and tlm::TLM_READ_COMMAND.

Referenced by tlm::tlm_from_hostendian_aligned(), tlm::tlm_from_hostendian_generic(), tlm::tlm_from_hostendian_word(), and tlm::tlm_to_hostendian_word().

void tlm::tlm_generic_payload::set_read (  )  [inline]

Definition at line 300 of file tlm_gp.h.

References m_command, and tlm::TLM_READ_COMMAND.

bool tlm::tlm_generic_payload::is_write (  )  const [inline]

Definition at line 301 of file tlm_gp.h.

References m_command, and tlm::TLM_WRITE_COMMAND.

Referenced by tlm::tlm_to_hostendian_aligned(), and tlm::tlm_to_hostendian_generic().

void tlm::tlm_generic_payload::set_write (  )  [inline]

Definition at line 302 of file tlm_gp.h.

References m_command, and tlm::TLM_WRITE_COMMAND.

tlm_command tlm::tlm_generic_payload::get_command (  )  const [inline]

Definition at line 303 of file tlm_gp.h.

References m_command.

Referenced by deep_copy_from(), and operator=().

void tlm::tlm_generic_payload::set_command ( const tlm_command  command  )  [inline]

Definition at line 304 of file tlm_gp.h.

References m_command.

sc_dt::uint64 tlm::tlm_generic_payload::get_address (  )  const [inline]

Definition at line 307 of file tlm_gp.h.

References m_address.

Referenced by deep_copy_from(), operator=(), tlm::tlm_to_hostendian_generic(), tlm::tlm_to_hostendian_single(), and tlm::tlm_to_hostendian_word().

void tlm::tlm_generic_payload::set_address ( const sc_dt::uint64  address  )  [inline]

Definition at line 308 of file tlm_gp.h.

References m_address.

Referenced by tlm::tlm_to_hostendian_generic(), tlm::tlm_to_hostendian_single(), and tlm::tlm_to_hostendian_word().

unsigned char* tlm::tlm_generic_payload::get_data_ptr (  )  const [inline]

Definition at line 311 of file tlm_gp.h.

References m_data.

Referenced by operator=(), tlm::tlm_from_hostendian_aligned(), tlm::tlm_from_hostendian_generic(), tlm::tlm_from_hostendian_word(), tlm::tlm_to_hostendian_aligned(), tlm::tlm_to_hostendian_generic(), and tlm::tlm_to_hostendian_word().

void tlm::tlm_generic_payload::set_data_ptr ( unsigned char *  data  )  [inline]

Definition at line 312 of file tlm_gp.h.

References m_data.

Referenced by tlm::tlm_to_hostendian_aligned(), tlm::tlm_to_hostendian_generic(), and tlm::tlm_to_hostendian_word().

unsigned int tlm::tlm_generic_payload::get_data_length (  )  const [inline]

Definition at line 315 of file tlm_gp.h.

References m_length.

Referenced by deep_copy_from(), operator=(), tlm::tlm_from_hostendian_aligned(), tlm::tlm_from_hostendian_generic(), tlm::tlm_to_hostendian_aligned(), tlm::tlm_to_hostendian_generic(), and tlm::tlm_to_hostendian_word().

void tlm::tlm_generic_payload::set_data_length ( const unsigned int  length  )  [inline]

Definition at line 316 of file tlm_gp.h.

References m_length.

Referenced by tlm::tlm_to_hostendian_generic(), and tlm::tlm_to_hostendian_word().

bool tlm::tlm_generic_payload::is_response_ok (  )  const [inline]

Definition at line 319 of file tlm_gp.h.

References m_response_status.

bool tlm::tlm_generic_payload::is_response_error (  )  const [inline]

Definition at line 320 of file tlm_gp.h.

References m_response_status.

tlm_response_status tlm::tlm_generic_payload::get_response_status (  )  const [inline]

Definition at line 321 of file tlm_gp.h.

References m_response_status.

Referenced by deep_copy_from(), and operator=().

void tlm::tlm_generic_payload::set_response_status ( const tlm_response_status  response_status  )  [inline]

Definition at line 322 of file tlm_gp.h.

References m_response_status.

std::string tlm::tlm_generic_payload::get_response_string (  )  const [inline]

Definition at line 324 of file tlm_gp.h.

References m_response_status, tlm::TLM_ADDRESS_ERROR_RESPONSE, tlm::TLM_BURST_ERROR_RESPONSE, tlm::TLM_BYTE_ENABLE_ERROR_RESPONSE, tlm::TLM_COMMAND_ERROR_RESPONSE, tlm::TLM_GENERIC_ERROR_RESPONSE, tlm::TLM_INCOMPLETE_RESPONSE, and tlm::TLM_OK_RESPONSE.

unsigned int tlm::tlm_generic_payload::get_streaming_width (  )  const [inline]

Definition at line 340 of file tlm_gp.h.

References m_streaming_width.

Referenced by deep_copy_from(), operator=(), tlm::tlm_from_hostendian_generic(), and tlm::tlm_to_hostendian_generic().

void tlm::tlm_generic_payload::set_streaming_width ( const unsigned int  streaming_width  )  [inline]

Definition at line 341 of file tlm_gp.h.

References m_streaming_width.

Referenced by tlm::tlm_to_hostendian_generic(), and tlm::tlm_to_hostendian_word().

unsigned char* tlm::tlm_generic_payload::get_byte_enable_ptr (  )  const [inline]

Definition at line 344 of file tlm_gp.h.

References m_byte_enable.

Referenced by operator=(), tlm::tlm_from_hostendian_aligned(), tlm::tlm_from_hostendian_generic(), tlm::tlm_from_hostendian_word(), tlm::tlm_to_hostendian_aligned(), tlm::tlm_to_hostendian_generic(), and tlm::tlm_to_hostendian_word().

void tlm::tlm_generic_payload::set_byte_enable_ptr ( unsigned char *  byte_enable  )  [inline]

Definition at line 345 of file tlm_gp.h.

References m_byte_enable.

Referenced by tlm::tlm_to_hostendian_aligned(), tlm::tlm_to_hostendian_generic(), and tlm::tlm_to_hostendian_word().

unsigned int tlm::tlm_generic_payload::get_byte_enable_length (  )  const [inline]

Definition at line 346 of file tlm_gp.h.

References m_byte_enable_length.

Referenced by deep_copy_from(), operator=(), and tlm::tlm_to_hostendian_generic().

void tlm::tlm_generic_payload::set_byte_enable_length ( const unsigned int  byte_enable_length  )  [inline]

Definition at line 347 of file tlm_gp.h.

References m_byte_enable_length.

Referenced by tlm::tlm_to_hostendian_aligned(), tlm::tlm_to_hostendian_generic(), and tlm::tlm_to_hostendian_word().

void tlm::tlm_generic_payload::set_dmi_allowed ( bool  dmi_allowed  )  [inline]

Definition at line 351 of file tlm_gp.h.

References m_dmi.

bool tlm::tlm_generic_payload::is_dmi_allowed (  )  const [inline]

Definition at line 352 of file tlm_gp.h.

References m_dmi.

Referenced by deep_copy_from(), and operator=().

template<typename T>
T* tlm::tlm_generic_payload::set_extension ( T *  ext  )  [inline]

Definition at line 440 of file tlm_gp.h.

Referenced by deep_copy_from(), tlm::establish_context(), and tlm_utils::instance_specific_extension_accessor::operator()().

tlm_extension_base* tlm::tlm_generic_payload::set_extension ( unsigned int  index,
tlm_extension_base ext 
) [inline]

Definition at line 446 of file tlm_gp.h.

References m_extensions.

template<typename T>
T* tlm::tlm_generic_payload::set_auto_extension ( T *  ext  )  [inline]

Definition at line 456 of file tlm_gp.h.

Referenced by deep_copy_from().

tlm_extension_base* tlm::tlm_generic_payload::set_auto_extension ( unsigned int  index,
tlm_extension_base ext 
) [inline]

Definition at line 462 of file tlm_gp.h.

References m_extensions, and m_mm.

template<typename T>
void tlm::tlm_generic_payload::get_extension ( T *&  ext  )  const [inline]

Definition at line 473 of file tlm_gp.h.

Referenced by tlm::establish_context(), operator=(), tlm::tlm_from_hostendian(), and tlm_generic_payload().

template<typename T>
T* tlm::tlm_generic_payload::get_extension (  )  const [inline]

Definition at line 477 of file tlm_gp.h.

tlm_extension_base* tlm::tlm_generic_payload::get_extension ( unsigned int  index  )  const [inline]

Definition at line 482 of file tlm_gp.h.

References m_extensions.

template<typename T>
void tlm::tlm_generic_payload::clear_extension ( const T *  ext  )  [inline]

Definition at line 491 of file tlm_gp.h.

Referenced by tlm_utils::instance_specific_extension_container::dec_use_count().

template<typename T>
void tlm::tlm_generic_payload::clear_extension (  )  [inline]

Definition at line 500 of file tlm_gp.h.

template<typename T>
void tlm::tlm_generic_payload::release_extension ( T *  ext  )  [inline]

Definition at line 508 of file tlm_gp.h.

template<typename T>
void tlm::tlm_generic_payload::release_extension (  )  [inline]

Definition at line 516 of file tlm_gp.h.

void tlm::tlm_generic_payload::clear_extension ( unsigned int  index  )  [inline, private]

Definition at line 523 of file tlm_gp.h.

References m_extensions.

void tlm::tlm_generic_payload::release_extension ( unsigned int  index  )  [inline, private]

Definition at line 528 of file tlm_gp.h.

References m_extensions, and m_mm.

void tlm::tlm_generic_payload::resize_extensions (  )  [inline]

Definition at line 547 of file tlm_gp.h.

References m_extensions, and tlm::max_num_extensions().

Here is the call graph for this function:


Member Data Documentation

sc_dt::uint64 tlm::tlm_generic_payload::m_address [private]

Definition at line 391 of file tlm_gp.h.

Referenced by deep_copy_from(), get_address(), operator=(), and set_address().

tlm_command tlm::tlm_generic_payload::m_command [private]

Definition at line 392 of file tlm_gp.h.

Referenced by deep_copy_from(), get_command(), is_read(), is_write(), operator=(), set_command(), set_read(), and set_write().

unsigned char* tlm::tlm_generic_payload::m_data [private]

Definition at line 393 of file tlm_gp.h.

Referenced by deep_copy_from(), get_data_ptr(), operator=(), and set_data_ptr().

unsigned int tlm::tlm_generic_payload::m_length [private]

Definition at line 394 of file tlm_gp.h.

Referenced by deep_copy_from(), get_data_length(), operator=(), and set_data_length().

tlm_response_status tlm::tlm_generic_payload::m_response_status [private]

Definition at line 395 of file tlm_gp.h.

Referenced by deep_copy_from(), get_response_status(), get_response_string(), is_response_error(), is_response_ok(), operator=(), and set_response_status().

bool tlm::tlm_generic_payload::m_dmi [private]

Definition at line 396 of file tlm_gp.h.

Referenced by deep_copy_from(), is_dmi_allowed(), operator=(), and set_dmi_allowed().

unsigned char* tlm::tlm_generic_payload::m_byte_enable [private]

Definition at line 397 of file tlm_gp.h.

Referenced by deep_copy_from(), get_byte_enable_ptr(), operator=(), and set_byte_enable_ptr().

unsigned int tlm::tlm_generic_payload::m_byte_enable_length [private]

Definition at line 398 of file tlm_gp.h.

Referenced by deep_copy_from(), get_byte_enable_length(), operator=(), and set_byte_enable_length().

unsigned int tlm::tlm_generic_payload::m_streaming_width [private]

Definition at line 399 of file tlm_gp.h.

Referenced by deep_copy_from(), get_streaming_width(), operator=(), and set_streaming_width().

tlm_array<tlm_extension_base*> tlm::tlm_generic_payload::m_extensions [private]

Definition at line 553 of file tlm_gp.h.

Referenced by clear_extension(), deep_copy_from(), free_all_extensions(), get_extension(), operator=(), release_extension(), reset(), resize_extensions(), set_auto_extension(), set_extension(), tlm_generic_payload(), update_extensions_from(), and ~tlm_generic_payload().

tlm_mm_interface* tlm::tlm_generic_payload::m_mm [private]

Definition at line 554 of file tlm_gp.h.

Referenced by acquire(), has_mm(), release(), release_extension(), set_auto_extension(), and set_mm().

unsigned int tlm::tlm_generic_payload::m_ref_count [private]

Definition at line 555 of file tlm_gp.h.

Referenced by acquire(), get_ref_count(), and release().


The documentation for this class was generated from the following file:
Generated on Thu Jun 5 17:44:14 2008 for TLM 2 by  doxygen 1.5.3