OpenDDS
Snapshot(2023/04/28-20:55)
dds
InfoRepo
UpdateProcessor_T.h
Go to the documentation of this file.
1
/*
2
*
3
*
4
* Distributed under the OpenDDS License.
5
* See: http://www.opendds.org/license.html
6
*/
7
8
#ifndef UPDATEPROCESSOR_T_H
9
#define UPDATEPROCESSOR_T_H
10
11
#if !defined (ACE_LACKS_PRAGMA_ONCE)
12
#pragma once
13
#endif
/* ACE_LACKS_PRAGMA_ONCE */
14
15
OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL
16
17
namespace
DDS
{
18
19
struct
SampleInfo;
20
21
}
// namespace DDS
22
23
namespace
OpenDDS
{
24
namespace
Federator {
25
26
/**
27
* @class UpdateProcessor
28
*
29
* @brief Interface for managing update publications.
30
*
31
* This class provides interfaces to manage update data received from
32
* federated repositories.
33
*/
34
template
<
class
DataType>
35
class
UpdateProcessor
{
36
public
:
37
UpdateProcessor
();
38
39
virtual
~
UpdateProcessor
();
40
41
//
42
// Abstract interface to be implemented per application.
43
//
44
45
/// Entities are created.
46
virtual
void
processCreate(
47
const
DataType* sample,
48
const
DDS::SampleInfo
* info) = 0;
49
50
/// Entity Qos values are modified.
51
virtual
void
processUpdateQos1(
52
const
DataType* sample,
53
const
DDS::SampleInfo
* info) = 0;
54
55
/// Entity additional Qos values are modified.
56
/// A default null implementation is provided.
57
virtual
void
processUpdateQos2(
58
const
DataType* sample,
59
const
DDS::SampleInfo
* info);
60
61
/// A default null implementation is provided.
62
virtual
void
processUpdateFilterExpressionParams(
63
const
DataType* sample,
64
const
DDS::SampleInfo
* info);
65
66
/// Entities are destroyed.
67
virtual
void
processDelete(
68
const
DataType* sample,
69
const
DDS::SampleInfo
* info) = 0;
70
71
//
72
// Concrete implementation of common processing.
73
//
74
75
/// Update publication information with sample data.
76
void
processSample(
77
const
DataType* sample,
78
const
DDS::SampleInfo
* info);
79
80
};
81
82
}
// namespace Federator
83
}
// namespace OpenDDS
84
85
OPENDDS_END_VERSIONED_NAMESPACE_DECL
86
87
#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
88
#include "
UpdateProcessor_T.cpp
"
89
#endif
/* ACE_TEMPLATES_REQUIRE_SOURCE */
90
91
#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
92
#pragma message ("UpdateProcessor_T.cpp template inst")
93
#pragma implementation ("UpdateProcessor_T.cpp")
94
#endif
/* ACE_TEMPLATES_REQUIRE_PRAGMA */
95
96
#endif
/* UPDATEPROCESSOR_T_H */
OpenDDS::Federator::UpdateProcessor
Interface for managing update publications.
Definition:
UpdateProcessor_T.h:35
DDS::SampleInfo
Definition:
DdsDcpsCore.idl:571
DDS
The End User API.
Definition:
DataDurabilityCache.h:45
OPENDDS_END_VERSIONED_NAMESPACE_DECL
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
Definition:
Versioned_Namespace.h:48
OPENDDS_BEGIN_VERSIONED_NAMESPACE_DECL
Definition:
Hash.cpp:17
UpdateProcessor_T.cpp
OpenDDS
The Internal API and Implementation of OpenDDS.
Definition:
AddressCache.h:28
Generated by
1.8.13