00001
00002
00003
00004
00005
00006
00007
00008 #ifndef UPDATEPROCESSOR_T_H
00009 #define UPDATEPROCESSOR_T_H
00010
00011 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00012 #pragma once
00013 #endif
00014
00015 namespace DDS {
00016
00017 struct SampleInfo;
00018
00019 }
00020
00021 namespace OpenDDS {
00022 namespace Federator {
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 template<class DataType>
00033 class UpdateProcessor {
00034 public:
00035
00036 UpdateProcessor();
00037
00038
00039 virtual ~UpdateProcessor();
00040
00041
00042
00043
00044
00045
00046 virtual void processCreate(
00047 const DataType* sample,
00048 const DDS::SampleInfo* info) = 0;
00049
00050
00051 virtual void processUpdateQos1(
00052 const DataType* sample,
00053 const DDS::SampleInfo* info) = 0;
00054
00055
00056
00057 virtual void processUpdateQos2(
00058 const DataType* sample,
00059 const DDS::SampleInfo* info);
00060
00061
00062 virtual void processUpdateFilterExpressionParams(
00063 const DataType* sample,
00064 const DDS::SampleInfo* info);
00065
00066
00067 virtual void processDelete(
00068 const DataType* sample,
00069 const DDS::SampleInfo* info) = 0;
00070
00071
00072
00073
00074
00075
00076 void processSample(
00077 const DataType* sample,
00078 const DDS::SampleInfo* info);
00079
00080 };
00081
00082 }
00083 }
00084
00085 #if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
00086 #include "UpdateProcessor_T.cpp"
00087 #endif
00088
00089 #if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
00090 #pragma message ("UpdateProcessor_T.cpp template inst")
00091 #pragma implementation ("UpdateProcessor_T.cpp")
00092 #endif
00093
00094 #endif