Version: 8.3.0
Engines_DSC_interface Class Referenceabstract

This class implements the interface Engines::DSC. More...

#include <DSC_interface.hxx>

Inheritance diagram for Engines_DSC_interface:

Data Structures

struct  port_t
 

Public Member Functions

 Engines_DSC_interface ()
 
virtual ~Engines_DSC_interface ()
 
virtual void add_provides_port (Ports::Port_ptr ref, const char *provides_port_name, Ports::PortProperties_ptr port_prop) throw (Engines::DSC::PortAlreadyDefined, Engines::DSC::NilPort, Engines::DSC::BadProperty)
 
virtual void add_uses_port (const char *repository_id, const char *uses_port_name, Ports::PortProperties_ptr port_prop) throw (Engines::DSC::PortAlreadyDefined, Engines::DSC::BadProperty)
 
virtual Ports::Port_ptr get_provides_port (const char *provides_port_name, const CORBA::Boolean connection_error) throw (Engines::DSC::PortNotDefined, Engines::DSC::PortNotConnected, Engines::DSC::BadPortType)
 
virtual Engines::DSC::uses_portget_uses_port (const char *uses_port_name) throw (Engines::DSC::PortNotDefined, Engines::DSC::PortNotConnected, Engines::DSC::BadPortType)
 
virtual void connect_provides_port (const char *provides_port_name) throw (Engines::DSC::PortNotDefined)
 
virtual void connect_uses_port (const char *uses_port_name, Ports::Port_ptr provides_port_ref) throw (Engines::DSC::PortNotDefined, Engines::DSC::BadPortType, Engines::DSC::NilPort)
 
virtual CORBA::Boolean is_connected (const char *port_name) throw (Engines::DSC::PortNotDefined)
 
virtual void disconnect_provides_port (const char *provides_port_name, const Engines::DSC::Message message) throw (Engines::DSC::PortNotDefined, Engines::DSC::PortNotConnected)
 
virtual void disconnect_uses_port (const char *uses_port_name, Ports::Port_ptr provides_port_ref, const Engines::DSC::Message message) throw (Engines::DSC::PortNotDefined, Engines::DSC::PortNotConnected, Engines::DSC::BadPortReference)
 
virtual Ports::PortProperties_ptr get_port_properties (const char *port_name) throw (Engines::DSC::PortNotDefined)
 
virtual void provides_port_changed (const char *provides_port_name, int connection_nbr, const Engines::DSC::Message message)=0
 This method is used by the component when the number of connection on a provides port changes. More...
 
virtual void uses_port_changed (const char *uses_port_name, Engines::DSC::uses_port *new_uses_port, const Engines::DSC::Message message)=0
 This method is used by the component when the number of connection on a uses port changes. More...
 

Static Public Member Functions

static void writeEvent (const char *request, const std::string &containerName, const char *instance_name, const char *port_name, const char *error, const char *message)
 Write a record in the trace file. More...
 

Protected Types

enum  port_type { uses, provides, none }
 
typedef std::map< std::string,
port_t * > 
ports
 

Protected Attributes

ports my_ports
 
ports::iterator my_ports_it
 

Detailed Description

This class implements the interface Engines::DSC.

This class is used by the sequential DSC implementation and the parallel DSC implementation.

Member Typedef Documentation

typedef std::map<std::string, port_t *> Engines_DSC_interface::ports
protected

Member Enumeration Documentation

Enumerator
uses 
provides 
none 

Constructor & Destructor Documentation

Engines_DSC_interface::Engines_DSC_interface ( )
Engines_DSC_interface::~Engines_DSC_interface ( )
virtual

References my_ports, and my_ports_it.

Member Function Documentation

void Engines_DSC_interface::connect_provides_port ( const char provides_port_name) throw (Engines::DSC::PortNotDefined)
virtual
See Also
Engines::DSC::connect_provides_port
Note
This method uses Callbacks mechanism to inform the provides port how much uses ports are connected with. Currently, the provides port doesn't know its uses ports references. It's framework or application role to manage connections between ports.

Reimplemented in Engines_DSC_i, and Engines_ParallelDSC_i.

References Engines::DSC::AddingConnection.

Referenced by Engines_ParallelDSC_i::connect_provides_port(), and Engines_DSC_i::connect_provides_port().

void Engines_DSC_interface::connect_uses_port ( const char uses_port_name,
Ports::Port_ptr  provides_port_ref 
) throw (Engines::DSC::PortNotDefined, Engines::DSC::BadPortType, Engines::DSC::NilPort)
virtual
See Also
Engines::DSC::connect_uses_port
Note
This method uses Callbacks mechanism to inform the uses port how much provides ports are connected with.

Reimplemented in Engines_DSC_i, and Engines_ParallelDSC_i.

References Engines::DSC::AddingConnection, Engines::DSC::BadPortType::expected, and Engines::DSC::BadPortType::received.

Referenced by Engines_ParallelDSC_i::connect_uses_port(), and Engines_DSC_i::connect_uses_port().

void Engines_DSC_interface::disconnect_provides_port ( const char provides_port_name,
const Engines::DSC::Message  message 
) throw (Engines::DSC::PortNotDefined, Engines::DSC::PortNotConnected)
virtual
See Also
Engines::DSC::disconnect_provides_port
Note
This method uses Callbacks mechanism to inform the provides port how much uses ports are connected with. Currently, the provides port doesn't know its uses ports references. It's framework or application role to manage connections between ports.

Reimplemented in Engines_DSC_i, and Engines_ParallelDSC_i.

Referenced by Engines_ParallelDSC_i::disconnect_provides_port(), and Engines_DSC_i::disconnect_provides_port().

void Engines_DSC_interface::disconnect_uses_port ( const char uses_port_name,
Ports::Port_ptr  provides_port_ref,
const Engines::DSC::Message  message 
) throw (Engines::DSC::PortNotDefined, Engines::DSC::PortNotConnected, Engines::DSC::BadPortReference)
virtual
See Also
Engines::DSC::disconnect_uses_port
Note
This method uses Callbacks mechanism to inform the uses port how much provides ports are connected with.
Warning
The new sequence of the uses port is sended by the callback. The old sequence is not destoyed. Is uses port user's role to destroy the sequence.

Reimplemented in Engines_DSC_i, and Engines_ParallelDSC_i.

Referenced by Engines_ParallelDSC_i::disconnect_uses_port(), and Engines_DSC_i::disconnect_uses_port().

Ports::PortProperties_ptr Engines_DSC_interface::get_port_properties ( const char port_name) throw (Engines::DSC::PortNotDefined)
virtual
CORBA::Boolean Engines_DSC_interface::is_connected ( const char port_name) throw (Engines::DSC::PortNotDefined)
virtual
virtual void DSC_Callbacks::provides_port_changed ( const char provides_port_name,
int  connection_nbr,
const Engines::DSC::Message  message 
)
pure virtualinherited

This method is used by the component when the number of connection on a provides port changes.

  This information helps the user code to detect operation on its ports.
Parameters
provides_port_namethe name of the provides name that has changed.
connection_nbrthe new number of connection on the provides port.
messagecontains informations about the modification of the port.

Implemented in Superv_Component_i.

virtual void DSC_Callbacks::uses_port_changed ( const char uses_port_name,
Engines::DSC::uses_port new_uses_port,
const Engines::DSC::Message  message 
)
pure virtualinherited

This method is used by the component when the number of connection on a uses port changes.

  This information helps the user code to detect operation on its ports.
Parameters
uses_port_namethe name of the uses name that has changed.
new_uses_portthe new sequence representing the uses port.
messagecontains informations about the modification of the port.

Implemented in Superv_Component_i.

void Engines_DSC_interface::writeEvent ( const char request,
const std::string &  containerName,
const char instance_name,
const char port_name,
const char error,
const char message 
)
static

Write a record in the trace file.

Parameters
requestthe name of the request executed
containerNamethe name of the container where the request is executed
instance_namethe name of the component where the request is executed
port_namethe name of the port that is concerned
errorif an error has occured, a string that identifies the error
messageinformations about error or about the request

References initTrace().

Referenced by create_calcium_port(), CalciumInterface::ecp_cd(), CalciumInterface::ecp_ecriture(), CalciumInterface::ecp_effi(), CalciumInterface::ecp_efft(), CalciumInterface::ecp_fin(), CalciumInterface::ecp_fini(), CalciumInterface::ecp_fint(), CalciumInterface::ecp_lecture(), GenericPort< DataManipulator, COUPLING_POLICY >::get(), and GenericPort< DataManipulator, COUPLING_POLICY >::next().

Field Documentation

ports Engines_DSC_interface::my_ports
protected

Referenced by ~Engines_DSC_interface().

ports::iterator Engines_DSC_interface::my_ports_it
protected

Referenced by ~Engines_DSC_interface().