HLCC Documentation 3.0.1
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(uint32_t udp_port = 10001, std::string src_ip = "127.0.0.1", std::string dst_ip = "239.128.7.1");
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:248
std::error_code Publish()
llnetio rtms publish pk_positions data
Definition determPub.cpp:27
LlnetioPub(uint32_t udp_port=10001, std::string src_ip="127.0.0.1", std::string dst_ip="239.128.7.1")
class constructor
Definition determPub.cpp:11
std::shared_ptr<::ccsinsdetifllnetio::PointingKernelPositions > GetPkPos()
Get pkp mal mudpi data pointer, to allow setting the data before publishing.
Definition determPub.cpp:22
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
Definition observablePublisher.hpp:31