Sampa::CallObserver< Interface > Class Template Reference

kind of port that allows to log calls to an interface You must prefix each method in an object implementing an interface with the macro SAMPA_IMPLEMENT_INTERFACE, this allows knowing which method of the interface has been called currently disabled by the sampa config More...

#include <call.h>

Inheritance diagram for Sampa::CallObserver< Interface >:

Sampa::Object

List of all members.

Public Member Functions

 CallObserver (const Name &name)
void bind_target (Interface *interface)
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 ()


Detailed Description

template<class Interface>
class Sampa::CallObserver< Interface >

kind of port that allows to log calls to an interface You must prefix each method in an object implementing an interface with the macro SAMPA_IMPLEMENT_INTERFACE, this allows knowing which method of the interface has been called currently disabled by the sampa config

Definition at line 37 of file call.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

template<class Interface>
Sampa::CallObserver< Interface >::CallObserver ( const Name name  )  [inline]

Definition at line 39 of file call.h.


Member Function Documentation

template<class Interface>
void Sampa::CallObserver< Interface >::bind_target ( Interface *  interface  )  [inline]

Definition at line 41 of file call.h.

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.


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