diff --git a/ddsrecorder_yaml/src/cpp/recorder/YamlReader_configuration.cpp b/ddsrecorder_yaml/src/cpp/recorder/YamlReader_configuration.cpp new file mode 100644 index 000000000..7e2b41c67 --- /dev/null +++ b/ddsrecorder_yaml/src/cpp/recorder/YamlReader_configuration.cpp @@ -0,0 +1,60 @@ +// Copyright 2024 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @file YamlReader_configuration.cpp + * + * Use this file to define tailored validation methods for the DDS Recorder. + * The methods are already implemented in the DDS Pipe, but they can be overridden here to provide specific validation. + * + * The namespace must be the same as the DDS Pipe's YamlReader class. + * + * NOTE: Overriding the same validate method in the DDS Recorder and the DDS Replayer would give conflicts. The + * functions that need to be overridden in both are left commented in both until the DDS Recorder and the DDS Replayer + * are split up into different products. + */ + +#include + +#include + +#include +#include + +namespace eprosima { +namespace ddspipe { +namespace yaml { + +// template <> +// bool YamlValidator::validate( +// const Yaml& yml, +// const YamlReaderVersion& /* version */) +// { +// // The DDS Pipe's QOS_MAX_TX_RATE is invalid in the DDS Recorder. +// static const std::set tags{ +// QOS_TRANSIENT_TAG, +// QOS_RELIABLE_TAG, +// QOS_OWNERSHIP_TAG, +// QOS_PARTITION_TAG, +// QOS_HISTORY_DEPTH_TAG, +// QOS_KEYED_TAG, +// QOS_MAX_RX_RATE_TAG, +// QOS_DOWNSAMPLING_TAG}; + +// return YamlValidator::validate_tags(yml, tags); +// } + +} /* namespace yaml */ +} /* namespace ddspipe */ +} /* namespace eprosima */ diff --git a/ddsrecorder_yaml/src/cpp/replayer/YamlReader_configuration.cpp b/ddsrecorder_yaml/src/cpp/replayer/YamlReader_configuration.cpp new file mode 100644 index 000000000..db4b6167a --- /dev/null +++ b/ddsrecorder_yaml/src/cpp/replayer/YamlReader_configuration.cpp @@ -0,0 +1,59 @@ +// Copyright 2024 Proyectos y Sistemas de Mantenimiento SL (eProsima). +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/** + * @file YamlReader_configuration.cpp + * + * Use this file to define tailored validation methods for the DDS Replayer. + * The methods are already implemented in the DDS Pipe, but they can be overridden here to provide specific validation. + * + * The namespace must be the same as the DDS Pipe's YamlReader class. + * + * NOTE: Overriding the same validate method in the DDS Recorder and the DDS Replayer would give conflicts. The + * functions that need to be overridden in both are left commented in both until the DDS Recorder and the DDS Replayer + * are split up into different products. + */ + +#include + +#include + +#include +#include + +namespace eprosima { +namespace ddspipe { +namespace yaml { + +// template <> +// bool YamlValidator::validate( +// const Yaml& yml, +// const YamlReaderVersion& /* version */) +// { +// // The DDS Pipe's QOS_MAX_RX_RATE and QOS_DOWNSAMPLING are invalid in the DDS Replayer. +// static const std::set tags{ +// QOS_TRANSIENT_TAG, +// QOS_RELIABLE_TAG, +// QOS_OWNERSHIP_TAG, +// QOS_PARTITION_TAG, +// QOS_HISTORY_DEPTH_TAG, +// QOS_KEYED_TAG, +// QOS_MAX_TX_RATE_TAG}; + +// return YamlValidator::validate_tags(yml, tags); +// } + +} /* namespace yaml */ +} /* namespace ddspipe */ +} /* namespace eprosima */