Sampa::Bridge Class Reference

#include <bridge.h>

Inheritance diagram for Sampa::Bridge:

Sampa::Module Sampa::TargetRequestInterface Sampa::InitiatorResponseInterface Sampa::ContainerObject Sampa::Object

List of all members.

Public Member Functions

 Bridge (const Name &name)
void bind_target_clock (Clock *clock)
void bind_target (Target *slave)
Initiatorget_initiator ()
void bind_initiator_clock (Clock *clock)
void bind_initiator (Initiator *master)
Targetget_target ()
bool recieve_request (const Request &request)
bool recieve_response (const Response &response)
 SAMPA_PERSISTENT (Module)
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 set_next_trigger (EventListenerSingle &)
ProcessBase__get_process_by_name (const std::string &name)
void debug (const char *,...)
void error (Severity severity, const char *,...)

Private Types

enum  State {
  WAIT_REQUEST_FROM_MASTER, FORWARD_REQUEST_TO_SLAVE, WAIT_SLAVE_RESPONSE, FORWARD_RESPONSE_TO_MASTER,
  WAIT_RESPONSE_ACCEPTED_BY_MASTER
}

Private Member Functions

 SAMPA_MODULE (Bridge)
void complete_restart ()
void execute ()

Private Attributes

Clockp_master_clock
Target p_master
Clockp_slave_clock
Initiator p_slave
State m_state
bool m_accept_request
EventListener e_new_request
ClockedEvent e_sync_master
ClockedEvent e_sync_slave
Gated< Requestm_request
Gated< Responsem_response


Detailed Description

Definition at line 28 of file bridge.h.


Member Enumeration Documentation

enum Sampa::Bridge::State [private]

Enumerator:
WAIT_REQUEST_FROM_MASTER 
FORWARD_REQUEST_TO_SLAVE 
WAIT_SLAVE_RESPONSE 
FORWARD_RESPONSE_TO_MASTER 
WAIT_RESPONSE_ACCEPTED_BY_MASTER 

Definition at line 48 of file bridge.h.

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::Bridge::Bridge ( const Name name  ) 


Member Function Documentation

Sampa::Bridge::SAMPA_MODULE ( Bridge   )  [private]

void Sampa::Bridge::bind_target_clock ( Clock clock  ) 

void Sampa::Bridge::bind_target ( Target slave  ) 

Initiator* Sampa::Bridge::get_initiator (  )  [inline]

Definition at line 35 of file bridge.h.

References p_slave.

void Sampa::Bridge::bind_initiator_clock ( Clock clock  ) 

void Sampa::Bridge::bind_initiator ( Initiator master  ) 

Target* Sampa::Bridge::get_target (  )  [inline]

Definition at line 39 of file bridge.h.

References p_master.

bool Sampa::Bridge::recieve_request ( const Request request  )  [virtual]

Implements Sampa::TargetRequestInterface.

bool Sampa::Bridge::recieve_response ( const Response response  )  [virtual]

Implements Sampa::InitiatorResponseInterface.

void Sampa::Bridge::complete_restart (  )  [private, virtual]

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 from Sampa::Object.

void Sampa::Bridge::execute (  )  [private]

void Sampa::Module::set_next_trigger ( EventListenerSingle  )  [protected, inherited]

ProcessBase* Sampa::Module::__get_process_by_name ( const std::string &  name  )  [protected, inherited]

Sampa::Module::SAMPA_PERSISTENT ( Module   )  [inherited]

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]


Member Data Documentation

Clock* Sampa::Bridge::p_master_clock [private]

Definition at line 58 of file bridge.h.

Target Sampa::Bridge::p_master [private]

Definition at line 59 of file bridge.h.

Referenced by get_target().

Clock* Sampa::Bridge::p_slave_clock [private]

Definition at line 60 of file bridge.h.

Initiator Sampa::Bridge::p_slave [private]

Definition at line 61 of file bridge.h.

Referenced by get_initiator().

State Sampa::Bridge::m_state [private]

Definition at line 62 of file bridge.h.

bool Sampa::Bridge::m_accept_request [private]

Definition at line 63 of file bridge.h.

EventListener Sampa::Bridge::e_new_request [private]

Definition at line 64 of file bridge.h.

ClockedEvent Sampa::Bridge::e_sync_master [private]

Definition at line 65 of file bridge.h.

ClockedEvent Sampa::Bridge::e_sync_slave [private]

Definition at line 66 of file bridge.h.

Gated<Request> Sampa::Bridge::m_request [private]

Definition at line 67 of file bridge.h.

Gated<Response> Sampa::Bridge::m_response [private]

Definition at line 68 of file bridge.h.


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