Sampa::Initiator Class Reference
[Protocol]

kind of master port for point to point connection More...

#include <protocol.h>

Inheritance diagram for Sampa::Initiator:

Sampa::ContainerObject Sampa::Object Sampa::AdaptingInitiator< Adapted >

List of all members.

Public Member Functions

 Initiator (const Name &, InitiatorResponseInterface *initiator=0)
void bind_target (Target *target)
void bind_clock (Clock *clock)
Initiatoroperator-> ()
bool is_dont_trace () const
InitiatorResponseInterfaceget_initiator () const
EventListenerget_request_accepted_event ()
EventListenerget_response_accepted_event ()
bool send_request (const Request &request)
bool has_pending_request () const
bool accept_response ()
void cancel_accept_response ()
const char * get_name () const
const char * get_full_name () const
 name can be ([^. ]+.)*[^. ]+
Objectget_parent () const
 return object containing this one
Objectget_sibling () const
 return next object with same parent or NULL if none
Objectget_first_child () const
 return first child object or NULL if none
int is_debug () const

Protected Types

enum  Severity { S_INFO, S_WARNING, S_ERROR, S_FATAL }

Protected Member Functions

void debug (const char *,...)
void error (Severity severity, const char *,...)
virtual void complete_restart ()

Private Member Functions

bool send_response (const Response &response)
bool has_pending_response () const
bool accept_request ()
void cancel_accept_request ()
 SAMPA_PERSISTENT (Initiator)

Private Attributes

BoolParameter m_trace
InitiatorResponseInterfacep_initiator
TargetRequestInterfacep_target
ClockedEvent e_request_accepted
Gated< bool > m_request_pending
ClockedEvent e_response_accepted
Gated< bool > m_response_pending

Friends

class Target


Detailed Description

kind of master port for point to point connection

Definition at line 404 of file protocol.h.


Member Enumeration Documentation

enum Sampa::Object::Severity [protected, inherited]

Enumerator:
S_INFO 
S_WARNING 
S_ERROR 
S_FATAL 

Definition at line 48 of file object.h.


Constructor & Destructor Documentation

Sampa::Initiator::Initiator ( const Name ,
InitiatorResponseInterface initiator = 0 
)


Member Function Documentation

void Sampa::Initiator::bind_target ( Target target  ) 

void Sampa::Initiator::bind_clock ( Clock clock  ) 

Initiator* Sampa::Initiator::operator-> (  )  [inline]

Definition at line 409 of file protocol.h.

bool Sampa::Initiator::is_dont_trace (  )  const [inline]

Definition at line 411 of file protocol.h.

References m_trace.

InitiatorResponseInterface* Sampa::Initiator::get_initiator (  )  const [inline]

Definition at line 413 of file protocol.h.

References p_initiator.

EventListener& Sampa::Initiator::get_request_accepted_event (  )  [inline]

Definition at line 415 of file protocol.h.

References e_request_accepted.

Referenced by Sampa::Target::get_request_accepted_event().

EventListener& Sampa::Initiator::get_response_accepted_event (  )  [inline]

Definition at line 417 of file protocol.h.

References e_response_accepted.

Referenced by Sampa::Target::get_response_accepted_event().

bool Sampa::Initiator::send_request ( const Request request  ) 

bool Sampa::Initiator::has_pending_request (  )  const [inline]

Definition at line 420 of file protocol.h.

References m_request_pending.

bool Sampa::Initiator::accept_response (  ) 

void Sampa::Initiator::cancel_accept_response (  ) 

bool Sampa::Initiator::send_response ( const Response response  )  [private]

Referenced by Sampa::Target::send_response().

bool Sampa::Initiator::has_pending_response (  )  const [inline, private]

Definition at line 428 of file protocol.h.

References m_response_pending.

Referenced by Sampa::Target::has_pending_response().

bool Sampa::Initiator::accept_request (  )  [private]

Referenced by Sampa::Target::accept_request().

void Sampa::Initiator::cancel_accept_request (  )  [private]

Referenced by Sampa::Target::cancel_accept_request().

Sampa::Initiator::SAMPA_PERSISTENT ( Initiator   )  [private]

const char* Sampa::Object::get_name (  )  const [inherited]

returns the local name

const char* Sampa::Object::get_full_name (  )  const [inherited]

name can be ([^. ]+.)*[^. ]+

Object* Sampa::Object::get_parent (  )  const [inherited]

return object containing this one

Object* Sampa::Object::get_sibling (  )  const [inherited]

return next object with same parent or NULL if none

Object* Sampa::Object::get_first_child (  )  const [inherited]

return first child object or NULL if none

int Sampa::Object::is_debug (  )  const [inline, inherited]

Definition at line 44 of file object.h.

void Sampa::Object::debug ( const char *  ,
  ... 
) [protected, inherited]

void Sampa::Object::error ( Severity  severity,
const char *  ,
  ... 
) [protected, inherited]

virtual void Sampa::Object::complete_restart (  )  [protected, virtual, inherited]

is called to finalize restart. On restart, one shall update pointers, or reopen ressources (files, ...).

Most of pointers are restored by the thanks to the post++ library provided that the CLASSINFO() was correctly set.

However, some pointers are not relocated by the library. These are for example the method pointers used for the processes. Take a look at

See also:
Module::restart_process, to see how this is handled

Reimplemented in Sampa::Bridge, Sampa::Dma, Sampa::FixLatencySlave, Sampa::PeriodicTrafficGenerator, Sampa::TwoPortL1Cpu, and Sampa::StochasticCpu.


Friends And Related Function Documentation

friend class Target [friend]

Definition at line 426 of file protocol.h.


Member Data Documentation

BoolParameter Sampa::Initiator::m_trace [private]

Definition at line 433 of file protocol.h.

Referenced by is_dont_trace().

InitiatorResponseInterface* Sampa::Initiator::p_initiator [private]

Definition at line 434 of file protocol.h.

Referenced by get_initiator().

TargetRequestInterface* Sampa::Initiator::p_target [private]

Definition at line 435 of file protocol.h.

ClockedEvent Sampa::Initiator::e_request_accepted [private]

Definition at line 436 of file protocol.h.

Referenced by get_request_accepted_event().

Gated<bool> Sampa::Initiator::m_request_pending [private]

Definition at line 437 of file protocol.h.

Referenced by has_pending_request().

ClockedEvent Sampa::Initiator::e_response_accepted [private]

Definition at line 438 of file protocol.h.

Referenced by get_response_accepted_event().

Gated<bool> Sampa::Initiator::m_response_pending [private]

Definition at line 439 of file protocol.h.

Referenced by has_pending_response().


The documentation for this class was generated from the following file:
Generated on Sat Feb 16 16:23:19 2008 for Sampa by  doxygen 1.5.3