Version: 6.3.1
Data Structures | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Types | Protected Attributes | Private Types | Private Attributes | Static Private Attributes

Superv_Component_i Class Reference

This class implements DSC_User component. More...

#include <Superv_Component_i.hxx>

Inheritance diagram for Superv_Component_i:
Inheritance graph
Collaboration diagram for Superv_Component_i:
Collaboration graph

Data Structures

struct  BadCast
struct  BadFabType
struct  BadProperty
struct  BadType
struct  NilPort
struct  PortAlreadyDefined
struct  PortNotConnected
struct  PortNotDefined
struct  superv_port_t
struct  UnexpectedState

Public Member Functions

 Superv_Component_i (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa, PortableServer::ObjectId *contId, const char *instanceName, const char *interfaceName, bool notif=false)
 Superv_Component_i (CORBA::ORB_ptr orb, PortableServer::POA_ptr poa, Engines::Container_ptr container, const char *instanceName, const char *interfaceName, bool notif=false, bool regist=true)
virtual ~Superv_Component_i ()
virtual provides_portcreate_provides_control_port ()
virtual provides_portcreate_provides_data_and_control_port (const char *port_type)
virtual uses_portcreate_uses_control_port ()
virtual uses_portcreate_uses_data_and_control_port (const char *port_type)
virtual provides_portcreate_provides_data_port (const std::string &port_fab_type) throw (BadFabType)
virtual uses_portcreate_uses_data_port (const std::string &port_fab_type) throw (BadFabType)
virtual void add_port (const char *port_fab_type, const char *port_type, const char *port_name) throw (PortAlreadyDefined, BadFabType, BadType, BadProperty)
template<typename SpecificPortType >
SpecificPortType * add_port (const char *port_fab_type, const char *port_type, const char *port_name) throw (PortAlreadyDefined, BadFabType, BadType, BadCast, BadProperty)
virtual void add_port (provides_port *port, const char *provides_port_name) throw (PortAlreadyDefined, NilPort, BadProperty)
virtual void add_port (uses_port *port, const char *uses_port_name) throw (PortAlreadyDefined, NilPort, BadProperty)
virtual void get_port (provides_port *&port, const char *provides_port_name) throw (PortNotDefined, PortNotConnected)
virtual void get_port (uses_port *&port, const char *uses_port_name) throw (PortNotDefined, PortNotConnected)
virtual void get_uses_port_names (std::vector< std::string > &port_names, const std::string servicename="") const
template<typename SpecificPortType >
SpecificPortType * get_port (const char *port_name) throw (PortNotDefined, PortNotConnected, BadCast, UnexpectedState)
virtual void provides_port_changed (const char *provides_port_name, int connection_nbr, const Engines::DSC::Message message)
virtual void uses_port_changed (const char *uses_port_name, Engines::DSC::uses_port *new_uses_port, const Engines::DSC::Message message)
virtual port_factoryget_factory (const std::string &factory_name)
void beginService (const char *serviceName)
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)
virtual Engines::DSC::uses_port * get_uses_port (const char *uses_port_name) throw (Engines::DSC::PortNotDefined, Engines::DSC::PortNotConnected)
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)

Static Public Member Functions

static void register_factory (const std::string &factory_name, port_factory *factory_ptr)
static void setTimeOut ()
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.

Static Public Attributes

static long dscTimeOut = 0

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

Private Types

typedef std::map< std::string,
port_factory * > 
factory_map_t
typedef std::map< std::string,
superv_port_t * > 
superv_ports

Private Attributes

superv_ports my_superv_ports
superv_ports::iterator my_superv_ports_it

Static Private Attributes

static factory_map_t _factory_map

Detailed Description

This class allows a higher programming level than DSC_Basic. It enables a programming level for service's developpers who want to use DSC ports.

This class has two level for using and declare ports. The higher level proposes operations to add ports that are provided by default by SALOME like Calcium ports. It provides too some methods to add their own DSC_User ports.

Note:
This class doesn't implement the init_service CORBA operation.

Member Typedef Documentation

typedef std::map<std::string, port_factory*> Superv_Component_i::factory_map_t [private]
typedef std::map<std::string, superv_port_t *> Superv_Component_i::superv_ports [private]
typedef std::map<std::string, port_t *> Engines_DSC_interface::ports [protected, inherited]

Member Enumeration Documentation

enum Engines_DSC_interface::port_type [protected, inherited]
Enumerator:
uses 
provides 
none 

Constructor & Destructor Documentation

Superv_Component_i::Superv_Component_i ( CORBA::ORB_ptr  orb,
PortableServer::POA_ptr  poa,
PortableServer::ObjectId *  contId,
const char instanceName,
const char interfaceName,
bool  notif = false 
)

References setTimeOut().

Superv_Component_i::Superv_Component_i ( CORBA::ORB_ptr  orb,
PortableServer::POA_ptr  poa,
Engines::Container_ptr  container,
const char instanceName,
const char interfaceName,
bool  notif = false,
bool  regist = true 
)

References setTimeOut().

Superv_Component_i::~Superv_Component_i ( ) [virtual]

Member Function Documentation

virtual provides_port* Superv_Component_i::create_provides_control_port ( ) [inline, virtual]
Warning:
currently disabled.
virtual provides_port* Superv_Component_i::create_provides_data_and_control_port ( const char port_type) [inline, virtual]
Warning:
currently disabled.
virtual uses_port* Superv_Component_i::create_uses_control_port ( ) [inline, virtual]
Warning:
currently disabled.
virtual uses_port* Superv_Component_i::create_uses_data_and_control_port ( const char port_type) [inline, virtual]
Warning:
currently disabled.
provides_port * Superv_Component_i::create_provides_data_port ( const std::string &  port_fab_type) throw (BadFabType) [virtual]

This method permits to create a provides port provided by the platform. (See documentation of DSC for knoing these ports).

Parameters:
port_fab_typetype provides port.
Returns:
the provides port.
Note:
It's user repsonsability to destroy the provides port.

References port_factory::create_data_servant(), and LOC.

uses_port * Superv_Component_i::create_uses_data_port ( const std::string &  port_fab_type) throw (BadFabType) [virtual]

This method permits to create a uses port provided by the platform. (See documentation of DSC for knoing these ports).

Parameters:
port_fab_typetype uses port.
Returns:
the uses port.
Note:
It's user repsonsability to destroy the uses port.

References port_factory::create_data_proxy(), and LOC.

SpecificPortType * Superv_Component_i::add_port ( const char port_fab_type,
const char port_type,
const char port_name 
) throw (PortAlreadyDefined, BadFabType, BadType, BadProperty) [virtual]

Adds a port to the component. With this method only Salomé's provided DSC ports can be added.

Parameters:
port_fab_typetype of the port.
port_typeuses or provides.
port_namethe name of the port in the component.

References LOC.

template<typename SpecificPortType >
SpecificPortType* Superv_Component_i::add_port ( const char port_fab_type,
const char port_type,
const char port_name 
) throw (PortAlreadyDefined, BadFabType, BadType, BadCast, BadProperty)

Adds a port to the component. With this method only Salomé's provided DSC ports can be added.

Parameters:
port_fab_typetype of the port.
port_typeuses or provides.
port_namethe name of the port in the component.
Returns:
the created port.
void Superv_Component_i::add_port ( provides_port port,
const char provides_port_name 
) throw (PortAlreadyDefined, NilPort, BadProperty) [virtual]

Adds a created provides port to the component.

Parameters:
portthe provides port.
provides_port_namethe name of the port in the component.

References Engines_DSC_interface::add_provides_port(), LOC, and Superv_Component_i::superv_port_t::p_ref.

void Superv_Component_i::add_port ( uses_port port,
const char uses_port_name 
) throw (PortAlreadyDefined, NilPort, BadProperty) [virtual]

Adds a created uses port to the component.

Parameters:
portthe uses port.
uses_port_namethe name of the port in the component.

References Engines_DSC_interface::add_uses_port(), and LOC.

void Superv_Component_i::get_port ( provides_port *&  port,
const char provides_port_name 
) throw (PortNotDefined, PortNotConnected) [virtual]

Gets the provides port already added in the component.

Parameters:
portthe provides port pointer.
provides_port_namethe name of the port.

References Engines_DSC_interface::get_provides_port(), and LOC.

void Superv_Component_i::get_port ( uses_port *&  port,
const char uses_port_name 
) throw (PortNotDefined, PortNotConnected) [virtual]

Gets the uses port already added in the component.

Parameters:
portthe uses port pointer.
uses_port_namethe name of the port.

References Engines_DSC_i::get_uses_port(), and LOC.

void Superv_Component_i::get_uses_port_names ( std::vector< std::string > &  port_names,
const std::string  servicename = "" 
) const [virtual]

Gets the list of the ports of a service. If servicename is not set, all the ports of the component are returned.

Parameters:
port_namesthe ports's list.
servicenameservice's name.

References my_superv_ports.

template<typename SpecificPortType >
SpecificPortType * Superv_Component_i::get_port ( const char port_name) throw (PortNotDefined, PortNotConnected, BadCast, UnexpectedState)

Gets a port already added in the component.

Parameters:
port_namethe name of the port.
Returns:
a port's pointer.

References Engines_DSC_interface::get_provides_port(), Engines_DSC_i::get_uses_port(), LOC, Superv_Component_i::superv_port_t::p_ref, and Superv_Component_i::superv_port_t::u_ref.

void Superv_Component_i::provides_port_changed ( const char provides_port_name,
int  connection_nbr,
const Engines::DSC::Message  message 
) [virtual]
void Superv_Component_i::uses_port_changed ( const char uses_port_name,
Engines::DSC::uses_port *  new_uses_port,
const Engines::DSC::Message  message 
) [virtual]
void Superv_Component_i::register_factory ( const std::string &  factory_name,
port_factory factory_ptr 
) [static]

Add a factory the component. If the factory_name is already used, the new library is not added.

Parameters:
factory_namename of the factory (used by Superv_Component_i::create_provides_data_port and Superv_Component_i::create_uses_data_port)
factory_ptrfactory pointer (destroyed by the component)

References _factory_map.

port_factory * Superv_Component_i::get_factory ( const std::string &  factory_name) [virtual]

Get a factory from the component.

Parameters:
factory_namename of the factory.
Returns:
factory pointer, NULL if the factory doesn't exist.

References _factory_map.

void Superv_Component_i::setTimeOut ( ) [static]

References dscTimeOut.

void Superv_Component_i::beginService ( const char serviceName)

References setTimeOut().

virtual void Engines_DSC_i::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) [inline, virtual, inherited]
See also:
Engines::DSC::add_provides_port

Reimplemented from Engines_DSC_interface.

References Engines_DSC_interface::add_provides_port().

virtual void Engines_DSC_i::add_uses_port ( const char repository_id,
const char uses_port_name,
Ports::PortProperties_ptr  port_prop 
) throw (Engines::DSC::PortAlreadyDefined, Engines::DSC::BadProperty) [inline, virtual, inherited]
See also:
Engines::DSC::add_uses_port

Reimplemented from Engines_DSC_interface.

References Engines_DSC_interface::add_uses_port().

virtual Ports::Port_ptr Engines_DSC_i::get_provides_port ( const char provides_port_name,
const CORBA::Boolean  connection_error 
) throw (Engines::DSC::PortNotDefined, Engines::DSC::PortNotConnected) [inline, virtual, inherited]
See also:
Engines::DSC::get_provides_port

Reimplemented from Engines_DSC_interface.

References Engines_DSC_interface::get_provides_port().

virtual Engines::DSC::uses_port* Engines_DSC_i::get_uses_port ( const char uses_port_name) throw (Engines::DSC::PortNotDefined, Engines::DSC::PortNotConnected) [inline, virtual, inherited]
See also:
Engines::DSC::get_uses_port

Reimplemented from Engines_DSC_interface.

References Engines_DSC_interface::get_uses_port().

virtual void Engines_DSC_i::connect_provides_port ( const char provides_port_name) throw (Engines::DSC::PortNotDefined) [inline, virtual, inherited]
See also:
Engines::DSC::connect_provides_port

Reimplemented from Engines_DSC_interface.

References Engines_DSC_interface::connect_provides_port().

virtual void Engines_DSC_i::connect_uses_port ( const char uses_port_name,
Ports::Port_ptr  provides_port_ref 
) throw (Engines::DSC::PortNotDefined, Engines::DSC::BadPortType, Engines::DSC::NilPort) [inline, virtual, inherited]
See also:
Engines::DSC::connect_uses_port

Reimplemented from Engines_DSC_interface.

References Engines_DSC_interface::connect_uses_port().

virtual CORBA::Boolean Engines_DSC_i::is_connected ( const char port_name) throw (Engines::DSC::PortNotDefined) [inline, virtual, inherited]
See also:
Engines::DSC::is_connected

Reimplemented from Engines_DSC_interface.

References Engines_DSC_interface::is_connected().

virtual void Engines_DSC_i::disconnect_provides_port ( const char provides_port_name,
const Engines::DSC::Message  message 
) throw (Engines::DSC::PortNotDefined, Engines::DSC::PortNotConnected) [inline, virtual, inherited]
See also:
Engines::DSC::disconnect_provides_port

Reimplemented from Engines_DSC_interface.

References Engines_DSC_interface::disconnect_provides_port().

virtual void Engines_DSC_i::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) [inline, virtual, inherited]
See also:
Engines::DSC::disconnect_uses_port

Reimplemented from Engines_DSC_interface.

References Engines_DSC_interface::disconnect_uses_port().

virtual Ports::PortProperties_ptr Engines_DSC_i::get_port_properties ( const char port_name) throw (Engines::DSC::PortNotDefined) [inline, virtual, inherited]
See also:
Engines::DSC::get_port_properties

Reimplemented from Engines_DSC_interface.

References Engines_DSC_interface::get_port_properties().

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, inherited]
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().


Field Documentation

long Superv_Component_i::dscTimeOut = 0 [static]
std::map< std::string, port_factory * > Superv_Component_i::_factory_map [static, private]
superv_ports::iterator Superv_Component_i::my_superv_ports_it [private]
ports Engines_DSC_interface::my_ports [protected, inherited]
ports::iterator Engines_DSC_interface::my_ports_it [protected, inherited]
Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS