HLCC Documentation 2.2.0
Loading...
Searching...
No Matches
determPub.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2020-2025 European Southern Observatory (ESO)
2//
3// SPDX-License-Identifier: LGPL-3.0-only
4
13#ifndef HLCC_TELIF_ELTPK_DETERMPUB_HPP
14#define HLCC_TELIF_ELTPK_DETERMPUB_HPP
15#include <memory>
17#include "Ccsinsif.hpp"
18#include "Ccsinsdetif.hpp"
19#include "string"
20#include <mal/utility/Uri.hpp>
21#include <mal/utility/LoadMal.hpp>
22#include "eltpk/config.hpp"
24
25namespace hlcc::eltpk::determ{
26
27
29 public:
33 LlnetioPub();
34
38 std::error_code Publish();
39
43 std::shared_ptr<::ccsinsdetifllnetio::PointingKernelPositions> GetPkPos();
44
45 private:
46 std::shared_ptr<ccsinsdetifllnetio::LlnetioConfig> m_llnetio;
47 std::shared_ptr<::ccsinsdetifllnetio::PointingKernelPositions> m_pk_positions_llnetio;
48 // llnetio configurations (udp, mudpi, rtms)
49 std::unique_ptr<llnetio::UdpTxSocket> m_udp ;
50 std::unique_ptr<llnetio::mudpi::Sender> m_mudpi_snd ;
51 std::unique_ptr<llnetio::rtms::Sender> m_snd;
52 // END
53};
54
55
57 public:
61 MudpiPub(::hlcc::eltpk::Config& config, std::vector<std::shared_ptr<elt::mal::ps::qos::QoS>> qos);
62
67
71 std::shared_ptr<ccsinsif::PointingKernelPositions> GetPkPos();
72
73 private:
74 // Mal mudpi pkp publisher
75 std::shared_ptr<::hlcc::oldbmux::ObservablePublisher<::ccsinsif::PointingKernelPositions>> m_pk_positions_publisher;
76 // Mal mudpi pkp data
77 std::shared_ptr<ccsinsif::PointingKernelPositions> m_pk_positions;
78 };
79}
80#endif
Config class header file.
Definition config.hpp:241
Definition determPub.hpp:28
std::error_code Publish()
llnetio rtms publish pk_positions data
Definition determPub.cpp:27
std::shared_ptr<::ccsinsdetifllnetio::PointingKernelPositions > GetPkPos()
Get pkp mal mudpi data pointer, to allow setting the data before publishing.
Definition determPub.cpp:22
LlnetioPub()
class constructor
Definition determPub.cpp:11
Definition determPub.hpp:56
std::shared_ptr< ccsinsif::PointingKernelPositions > GetPkPos()
Get pkp mal mudpi data pointer, to allow setting the data before publishing.
Definition determPub.cpp:104
MudpiPub(::hlcc::eltpk::Config &config, std::vector< std::shared_ptr< elt::mal::ps::qos::QoS > > qos)
class constructor
Definition determPub.cpp:32
::hlcc::oldbmux::PublishingTimeElapsed Publish()
mal mudpi publish pk_positions data
Definition determPub.cpp:97
Definition determPub.cpp:9
elt::mal::future< T > future
Definition actionsCommands.cpp:103
Definition observablePublisher.hpp:31