OpenSplice ISO C++ 2 DCPS  v6.x
ISO C++ 2 OpenSplice Data Distribution Service Data-Centric Publish-Subscribe API
Annotation.hpp
Go to the documentation of this file.
1 /* Copyright 2010, Object Management Group, Inc.
2 * Copyright 2010, PrismTech, Corp.
3 * Copyright 2010, Real-Time Innovations, Inc.
4 * All rights reserved.
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18 #ifndef OMG_DDS_CORE_XTYPES_TANNOTATIONS_HPP_
19 #define OMG_DDS_CORE_XTYPES_TANNOTATIONS_HPP_
20 
21 #include <dds/core/Reference.hpp>
22 
23 namespace dds
24 {
25 namespace core
26 {
27 namespace xtypes
28 {
29 
31 {
32  enum type
33  {
43  };
44 };
45 
46 
48 {
49  enum type
50  {
53  MUTABLE
54  };
55 };
56 
57 
58 
59 class Annotation;
60 
61 
62 class IdAnnotation;
63 
64 
65 class KeyAnnotation;
66 
67 
68 class SharedAnnotation;
69 
70 
71 class NestedAnnotation;
72 
73 
75 
76 
78 
79 
80 class VerbatimAnnotation;
81 
82 
83 class BitsetAnnotation;
84 
85 
86 class BitBoundAnnotation;
87 
88 }
89 }
90 }
91 
92 
94 {
95 public:
96  OMG_DDS_REF_TYPE(Annotation, dds::core::Reference)
97 
98 public:
99  Annotation();
100 protected:
101  Annotation(const TypeKind& kind);
102 public:
103  TypeKind kind() const;
104 };
105 
107 {
108 public:
109  IdAnnotation(uint32_t id);
110 public:
111  uint32_t id() const;
112 };
113 
115 {
116 public:
117  KeyAnnotation();
118 };
119 
121 {
122 public:
124 };
125 
127 {
128 public:
130 };
131 
132 
134 {
135 
136 public:
138 
139 public:
140  ExtensibilityKind extensibility_kind() const;
141 };
142 
143 
145 {
146 public:
148 };
149 
150 
152 {
153 public:
154  VerbatimAnnotation(const std::string& text);
155 public:
156  const std::string& verbatim_text() const;
157 };
158 
159 
161 {
162 public:
164 
165 };
166 
167 
169 {
170 public:
171  BitBoundAnnotation(uint32_t bound);
172 };
173 
174 
175 #endif /* OMG_DDS_CORE_XTYPES_TANNOTATIONS_HPP_ */
TExtensibilityAnnotation< detail::ExtensibilityAnnotation > ExtensibilityAnnotation
Definition: Annotations.hpp:41
TSharedAnnotation< detail::SharedAnnotation > SharedAnnotation
Definition: Annotations.hpp:37
TMustUnderstandAnnotation< detail::MustUnderstandAnnotation > MustUnderstandAnnotation
Definition: Annotations.hpp:43
TKeyAnnotation< detail::KeyAnnotation > KeyAnnotation
Definition: Annotations.hpp:35
Definition: array.hpp:23
TNestedAnnotation< detail::NestedAnnotation > NestedAnnotation
Definition: Annotations.hpp:39
TBitBoundAnnotation< detail::BitBoundAnnotation > BitBoundAnnotation
Definition: Annotations.hpp:49
Base class for reference-counted objects.
Definition: Reference.hpp:94
TBitsetAnnotation< detail::BitsetAnnotation > BitsetAnnotation
Definition: Annotations.hpp:47
TIdAnnotation< detail::IdAnnotation > IdAnnotation
Definition: Annotations.hpp:33
TAnnotation< detail::Annotation > Annotation
Definition: Annotations.hpp:30
TVerbatimAnnotation< detail::VerbatimAnnotation > VerbatimAnnotation
Definition: Annotations.hpp:45