Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes

TAO_MCastConfigIf Class Reference

#include <AVStreams_i.h>

Collaboration diagram for TAO_MCastConfigIf:
Collaboration graph
[legend]

List of all members.

Classes

struct  Peer_Info

Public Types

enum  Peer_Interface { VDEV = 0, FLOWENDPOINT = 1 }

Public Member Functions

 TAO_MCastConfigIf (void)
 Default constructor.
 ~TAO_MCastConfigIf (void)
 Dtor.
virtual CORBA::Boolean set_peer (CORBA::Object_ptr peer, AVStreams::streamQoS &the_qos, const AVStreams::flowSpec &the_spec)
virtual void configure (const CosPropertyService::Property &a_configuration)
virtual void set_initial_configuration (const CosPropertyService::Properties &initial)
virtual void set_format (const char *flowName, const char *format_name)
virtual void set_dev_params (const char *flowName, const CosPropertyService::Properties &new_params)

Protected Member Functions

int in_flowSpec (const AVStreams::flowSpec &flow_spec, const char *flow_name)
 checks whether the flowname is in the flow_spec.

Protected Attributes

ACE_SOCK_Dgram_Mcast sock_mcast_
 Multicast socket.
CosPropertyService::Properties initial_configuration_
 Initial configuration to be distributed to all B parties when they join.
ACE_DLList< Peer_Infopeer_list_
ACE_DLList_Iterator< Peer_Infopeer_list_iterator_

Detailed Description

Definition at line 283 of file AVStreams_i.h.


Member Enumeration Documentation

Enumerator:
VDEV 
FLOWENDPOINT 

Definition at line 289 of file AVStreams_i.h.

{VDEV = 0, FLOWENDPOINT=1};


Constructor & Destructor Documentation

TAO_MCastConfigIf::TAO_MCastConfigIf ( void   ) 

Default constructor.

Definition at line 1297 of file AVStreams_i.cpp.

TAO_MCastConfigIf::~TAO_MCastConfigIf ( void   ) 

Dtor.

Definition at line 1302 of file AVStreams_i.cpp.

{
  //no-op
}


Member Function Documentation

void TAO_MCastConfigIf::configure ( const CosPropertyService::Property &  a_configuration  )  [virtual]

Definition at line 1334 of file AVStreams_i.cpp.

{
  Peer_Info *info;
  try
    {
      for (this->peer_list_iterator_.first ();
           (info = this->peer_list_iterator_.next ()) != 0;
           this->peer_list_iterator_.advance ())
        {
          info->peer_->configure (a_configuration);
        }
    }
  catch (const CORBA::Exception& ex)
    {
      ex._tao_print_exception (
        "TAO_MCastConfigIf::set_configure");
      return;
    }
}

int TAO_MCastConfigIf::in_flowSpec ( const AVStreams::flowSpec flow_spec,
const char *  flow_name 
) [protected]

checks whether the flowname is in the flow_spec.

Definition at line 1414 of file AVStreams_i.cpp.

{
  size_t len = ACE_OS::strlen (flow_name);
  for (CORBA::ULong i = 0; i < flow_spec.length (); i++)
    if (ACE_OS::strncmp (flow_spec[i], flow_name, len) == 0)
      {
        return 1;
      }
  return 0;
}

void TAO_MCastConfigIf::set_dev_params ( const char *  flowName,
const CosPropertyService::Properties &  new_params 
) [virtual]

Definition at line 1388 of file AVStreams_i.cpp.

{
  Peer_Info *info;
  try
    {

      for (this->peer_list_iterator_.first ();
           (info = this->peer_list_iterator_.next ()) != 0;
           this->peer_list_iterator_.advance ())
        {
          if (this->in_flowSpec (info->flow_spec_, flowName))
            {
              info->peer_->set_dev_params (flowName, new_params);
            }
        }
    }
  catch (const CORBA::Exception& ex)
    {
      ex._tao_print_exception (
        "TAO_MCastConfigIf::set_dev_params");
      return;
    }
}

void TAO_MCastConfigIf::set_format ( const char *  flowName,
const char *  format_name 
) [virtual]

Definition at line 1363 of file AVStreams_i.cpp.

{
  Peer_Info *info;
  try
    {
      for (this->peer_list_iterator_.first ();
           (info = this->peer_list_iterator_.next ()) != 0;
           this->peer_list_iterator_.advance ())
        {
          if (this->in_flowSpec (info->flow_spec_, flowName))
            {
              info->peer_->set_format (flowName, format_name);
            }
        }
    }
  catch (const CORBA::Exception& ex)
    {
      ex._tao_print_exception ("TAO_MCastConfigIf::set_format");
      return;
    }
}

void TAO_MCastConfigIf::set_initial_configuration ( const CosPropertyService::Properties &  initial  )  [virtual]

Definition at line 1356 of file AVStreams_i.cpp.

{
  this->initial_configuration_ = initial;
}

CORBA::Boolean TAO_MCastConfigIf::set_peer ( CORBA::Object_ptr  peer,
AVStreams::streamQoS the_qos,
const AVStreams::flowSpec the_spec 
) [virtual]

Definition at line 1309 of file AVStreams_i.cpp.

{
  try
    {
      Peer_Info *info;
      ACE_NEW_RETURN (info,
                      Peer_Info,
                      0);
      info->peer_ = AVStreams::VDev::_narrow (peer);
      info->qos_ = qos;
      info->flow_spec_ = flow_spec;
      this->peer_list_.insert_tail (info);
    }
  catch (const CORBA::Exception& ex)
    {
      ex._tao_print_exception ("TAO_MCastConfigIf::set_peer");
      return 0;
    }
  return 1;
}


Member Data Documentation

CosPropertyService::Properties TAO_MCastConfigIf::initial_configuration_ [protected]

Initial configuration to be distributed to all B parties when they join.

Definition at line 328 of file AVStreams_i.h.

Definition at line 330 of file AVStreams_i.h.

Definition at line 331 of file AVStreams_i.h.

Multicast socket.

Definition at line 325 of file AVStreams_i.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines