OpenDDS::Federator::UpdateProcessor< DataType > Class Template Reference

Interface for managing update publications. More...

#include <UpdateProcessor_T.h>

Inheritance diagram for OpenDDS::Federator::UpdateProcessor< DataType >:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 UpdateProcessor ()
 Default constructor.
virtual ~UpdateProcessor ()
 Virtual destructor.
virtual void processCreate (const DataType *sample, const DDS::SampleInfo *info)=0
 Entities are created.
virtual void processUpdateQos1 (const DataType *sample, const DDS::SampleInfo *info)=0
 Entity Qos values are modified.
virtual void processUpdateQos2 (const DataType *sample, const DDS::SampleInfo *info)
virtual void processUpdateFilterExpressionParams (const DataType *sample, const DDS::SampleInfo *info)
 A default null implementation is provided.
virtual void processDelete (const DataType *sample, const DDS::SampleInfo *info)=0
 Entities are destroyed.
void processSample (const DataType *sample, const DDS::SampleInfo *info)
 Update publication information with sample data.

Detailed Description

template<class DataType>
class OpenDDS::Federator::UpdateProcessor< DataType >

Interface for managing update publications.

This class provides interfaces to manage update data received from federated repositories.

Definition at line 33 of file UpdateProcessor_T.h.


Constructor & Destructor Documentation

template<class DataType>
OpenDDS::Federator::UpdateProcessor< DataType >::UpdateProcessor (  ) 

Default constructor.

Definition at line 23 of file UpdateProcessor_T.cpp.

References OpenDDS::DCPS::DCPS_debug_level.

00024 {
00025   if (OpenDDS::DCPS::DCPS_debug_level > 0) {
00026     ACE_DEBUG((LM_DEBUG,
00027                ACE_TEXT("(%P|%t) UpdateProcessor::UpdateProcessor()\n")));
00028   }
00029 }

template<class DataType>
OpenDDS::Federator::UpdateProcessor< DataType >::~UpdateProcessor (  )  [virtual]

Virtual destructor.

Definition at line 32 of file UpdateProcessor_T.cpp.

References OpenDDS::DCPS::DCPS_debug_level.

00033 {
00034   if (OpenDDS::DCPS::DCPS_debug_level > 0) {
00035     ACE_DEBUG((LM_DEBUG,
00036                ACE_TEXT("(%P|%t) UpdateProcessor::~UpdateProcessor()\n")));
00037   }
00038 }


Member Function Documentation

template<class DataType>
virtual void OpenDDS::Federator::UpdateProcessor< DataType >::processCreate ( const DataType *  sample,
const DDS::SampleInfo info 
) [pure virtual]

Entities are created.

Referenced by OpenDDS::Federator::UpdateProcessor< DataType >::processSample().

template<class DataType>
virtual void OpenDDS::Federator::UpdateProcessor< DataType >::processDelete ( const DataType *  sample,
const DDS::SampleInfo info 
) [pure virtual]

Entities are destroyed.

Referenced by OpenDDS::Federator::UpdateProcessor< DataType >::processSample().

template<class DataType>
void OpenDDS::Federator::UpdateProcessor< DataType >::processSample ( const DataType *  sample,
const DDS::SampleInfo info 
)

Update publication information with sample data.

Definition at line 42 of file UpdateProcessor_T.cpp.

References OpenDDS::Federator::CreateEntity, OpenDDS::DCPS::DCPS_debug_level, OpenDDS::Federator::DestroyEntity, OpenDDS::Federator::UpdateProcessor< DataType >::processCreate(), OpenDDS::Federator::UpdateProcessor< DataType >::processDelete(), OpenDDS::Federator::UpdateProcessor< DataType >::processUpdateFilterExpressionParams(), OpenDDS::Federator::UpdateProcessor< DataType >::processUpdateQos1(), OpenDDS::Federator::UpdateProcessor< DataType >::processUpdateQos2(), OpenDDS::Federator::UpdateFilterExpressionParams, OpenDDS::Federator::UpdateQosValue1, OpenDDS::Federator::UpdateQosValue2, and DDS::SampleInfo::valid_data.

00045 {
00046   if (OpenDDS::DCPS::DCPS_debug_level > 0) {
00047     ACE_DEBUG((LM_DEBUG,
00048                ACE_TEXT("(%P|%t) UpdateProcessor::processSample()\n")));
00049   }
00050 
00051   if (info->valid_data) {
00052     switch (sample->action) {
00053     case CreateEntity:
00054       this->processCreate(sample, info);
00055       break;
00056     case UpdateQosValue1:
00057       this->processUpdateQos1(sample, info);
00058       break;
00059     case UpdateQosValue2:
00060       this->processUpdateQos2(sample, info);
00061       break;
00062     case UpdateFilterExpressionParams:
00063       this->processUpdateFilterExpressionParams(sample, info);
00064       break;
00065     case DestroyEntity:
00066       this->processDelete(sample, info);
00067       break;
00068     default:
00069       ACE_ERROR((LM_ERROR,
00070                  ACE_TEXT("(%P|%t) ERROR: UpdateProcessor::processSample() - ")
00071                  ACE_TEXT("upsupported action type: %d.\n"),
00072                  sample->action));
00073       break;
00074     }
00075 
00076   } else {
00077     if (OpenDDS::DCPS::DCPS_debug_level > 0) {
00078       ACE_DEBUG((LM_DEBUG,
00079                  ACE_TEXT("(%P|%t) UpdateProcessor::processSample() - ")
00080                  ACE_TEXT("sample not valid, declining to process.\n")));
00081     }
00082   }
00083 }

template<class DataType>
void OpenDDS::Federator::UpdateProcessor< DataType >::processUpdateFilterExpressionParams ( const DataType *  sample,
const DDS::SampleInfo info 
) [virtual]

A default null implementation is provided.

Definition at line 96 of file UpdateProcessor_T.cpp.

Referenced by OpenDDS::Federator::UpdateProcessor< DataType >::processSample().

00099 {
00100   /* This method intentionally left unimplemented. */
00101 }

template<class DataType>
virtual void OpenDDS::Federator::UpdateProcessor< DataType >::processUpdateQos1 ( const DataType *  sample,
const DDS::SampleInfo info 
) [pure virtual]

Entity Qos values are modified.

Referenced by OpenDDS::Federator::UpdateProcessor< DataType >::processSample().

template<class DataType>
void OpenDDS::Federator::UpdateProcessor< DataType >::processUpdateQos2 ( const DataType *  sample,
const DDS::SampleInfo info 
) [virtual]

Entity additional Qos values are modified. A default null implementation is provided.

Definition at line 87 of file UpdateProcessor_T.cpp.

Referenced by OpenDDS::Federator::UpdateProcessor< DataType >::processSample().

00090 {
00091   /* This method intentionally left unimplemented. */
00092 }


The documentation for this class was generated from the following files:
Generated on Fri Feb 12 20:06:47 2016 for OpenDDS by  doxygen 1.4.7