BDE 4.39.x Production Release
Loading...
Searching...
No Matches
s_baltst_depthtestmessageutil.h
Go to the documentation of this file.
1/// @file s_baltst_depthtestmessageutil.h
2///
3/// The content of this file has been pre-processed for Doxygen.
4///
5
6
7// s_baltst_depthtestmessageutil.h -*-C++-*-
8#ifndef INCLUDED_S_BALTST_DEPTHTESTMESSAGEUTIL
9#define INCLUDED_S_BALTST_DEPTHTESTMESSAGEUTIL
10
11#include <bsls_ident.h>
12BSLS_IDENT("$Id: $")
13
14/// @defgroup s_baltst_depthtestmessageutil s_baltst_depthtestmessageutil
15/// @brief Provide messages for testing codec decoding depth limits.
16/// @addtogroup Standalones
17/// @{
18/// @addtogroup s_baltst
19/// @{
20/// @addtogroup s_baltst_depthtestmessageutil
21/// @{
22///
23/// <h1> Outline </h1>
24/// * <a href="#s_baltst_depthtestmessageutil-purpose"> Purpose</a>
25/// * <a href="#s_baltst_depthtestmessageutil-classes"> Classes </a>
26/// * <a href="#s_baltst_depthtestmessageutil-description"> Description </a>
27///
28/// # Purpose {#s_baltst_depthtestmessageutil-purpose}
29/// Provide messages for testing codec decoding depth limits.
30///
31/// # Classes {#s_baltst_depthtestmessageutil-classes}
32///
33/// - s_baltst::DepthTestMessage: XML and depth requirements for a depth-test
34/// - s_baltst::DepthTestMessageUtil: utilities for depth-test messages
35///
36/// @see s_baltst_featuretestmessage
37///
38/// # Description {#s_baltst_depthtestmessageutil-description}
39/// This component provides two utility `struct`s:
40/// 1: `s_baltst::DepthTestMessage`, providing an `XML` message and the
41/// depth limits different encodings needed to decode it
42/// 2: `s_baltst::DepthTestMessageUtil`, providing an array of
43/// `DepthTestMessage` values and the size of that array.
44/// @}
45/** @} */
46/** @} */
47
48/** @addtogroup Standalones
49 * @{
50 */
51/** @addtogroup s_baltst
52 * @{
53 */
54/** @addtogroup s_baltst_depthtestmessageutil
55 * @{
56 */
57
58#include <bsls_platform.h>
59
60
61namespace s_baltst {
62
63 // =======================
64 // struct DepthTestMessage
65 // =======================
66
67/// This utility `struct` provides the XML text representations of a test
68/// message object, as well as the depth limit required to decode that message
69/// with the `BER`, `JSON`, and `XML` decoders. It also provides additional
70/// fields for testing the `JSON` decoder.
71///
72/// See @ref s_baltst_depthtestmessageutil
74 const char *d_XML_text_p; // XML text
75 int d_depthBER; // required `maxDepth` value to parse (BER)
76 int d_depthJSON; // required `maxDepth` value to parse (JSON)
77 int d_depthXML; // required `maxDepth` value to parse (XML)
78 const char *d_prettyJSON_p; // 'PRETTY' `JSON`
79 const char *d_compactJSON_p; // 'COMPACT' `JSON`
80 bool d_isValidForGeneratedMessages; // Can JSON decode to generated msg
81 bool d_isValidForAggregate; // Can JSON decode to aggregate
82};
83
84 // ===========================
85 // struct DepthTestMessageUtil
86 // ===========================
87
88/// This utility `struct` provides a namespace for a set of `DepthTestMessage`
89/// objects. The `s_TEST_MESSAGES` static data member provides the objects,
90/// for all integer indices `0 <= i < k_NUM_MESSAGES`.
91///
92/// See @ref s_baltst_depthtestmessageutil
94 // CLASS DATA
95
96 /// the number of encoded values stored in the `s_TEST_MESSAGES`
97 /// array.
98 static const int k_NUM_MESSAGES;
99
100 /// an array of `s_baltst::DepthTestMessage` entries
102};
103
104
105} // close package namespace
106
107#endif // ! defined(INCLUDED_S_BALTST_DEPTHTESTMESSAGEUTIL)
108
109// ----------------------------------------------------------------------------
110// Copyright 2025 Bloomberg Finance L.P.
111//
112// Licensed under the Apache License, Version 2.0 (the "License");
113// you may not use this file except in compliance with the License.
114// You may obtain a copy of the License at
115//
116// http://www.apache.org/licenses/LICENSE-2.0
117//
118// Unless required by applicable law or agreed to in writing, software
119// distributed under the License is distributed on an "AS IS" BASIS,
120// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
121// See the License for the specific language governing permissions and
122// limitations under the License.
123// ----------------------------- END-OF-FILE ----------------------------------
124
125/** @} */
126/** @} */
127/** @} */
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition s_baltst_address.h:66
Definition s_baltst_depthtestmessageutil.h:93
static const int k_NUM_MESSAGES
Definition s_baltst_depthtestmessageutil.h:98
static const DepthTestMessage * s_TEST_MESSAGES
an array of s_baltst::DepthTestMessage entries
Definition s_baltst_depthtestmessageutil.h:101
Definition s_baltst_depthtestmessageutil.h:73
int d_depthXML
Definition s_baltst_depthtestmessageutil.h:77
const char * d_XML_text_p
Definition s_baltst_depthtestmessageutil.h:74
bool d_isValidForAggregate
Definition s_baltst_depthtestmessageutil.h:81
int d_depthBER
Definition s_baltst_depthtestmessageutil.h:75
const char * d_compactJSON_p
Definition s_baltst_depthtestmessageutil.h:79
const char * d_prettyJSON_p
Definition s_baltst_depthtestmessageutil.h:78
int d_depthJSON
Definition s_baltst_depthtestmessageutil.h:76
bool d_isValidForGeneratedMessages
Definition s_baltst_depthtestmessageutil.h:80