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

Interface for managing update publications. More...

#include <UpdateProcessor_T.h>

List of all members.

Public Member Functions

 UpdateProcessor ()
virtual ~UpdateProcessor ()
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 35 of file UpdateProcessor_T.h.


Constructor & Destructor Documentation

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

Definition at line 25 of file UpdateProcessor_T.cpp.

References ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, and LM_DEBUG.

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

Here is the call graph for this function:

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

Definition at line 34 of file UpdateProcessor_T.cpp.

References ACE_TEXT(), OpenDDS::DCPS::DCPS_debug_level, and LM_DEBUG.

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

Here is the call graph for this function:


Member Function Documentation

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

Update publication information with sample data.

Definition at line 44 of file UpdateProcessor_T.cpp.

References ACE_TEXT(), OpenDDS::Federator::CreateEntity, OpenDDS::DCPS::DCPS_debug_level, OpenDDS::Federator::DestroyEntity, LM_DEBUG, LM_ERROR, 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.

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

Here is the call graph for this function:

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

A default null implementation is provided.

Reimplemented in OpenDDS::Federator::ManagerImpl.

Definition at line 98 of file UpdateProcessor_T.cpp.

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

00101 {
00102   /* This method intentionally left unimplemented. */
00103 }

Here is the caller graph for this function:

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

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

Reimplemented in OpenDDS::Federator::ManagerImpl, and OpenDDS::Federator::ManagerImpl.

Definition at line 89 of file UpdateProcessor_T.cpp.

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

00092 {
00093   /* This method intentionally left unimplemented. */
00094 }

Here is the caller graph for this function:


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

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1