WPILibC++ 2027.0.0-alpha-4
Loading...
Searching...
No Matches
MulticastServiceAnnouncer.h
Go to the documentation of this file.
1// Copyright (c) FIRST and other WPILib contributors.
2// Open Source Software; you can modify and/or share it under the terms of
3// the WPILib BSD license file in the root directory of this project.
4
5#pragma once
6
7#include <stdint.h>
8
9#ifdef __cplusplus
10
11#include <memory>
12#include <span>
13#include <string>
14#include <string_view>
15#include <utility>
16
17namespace wpi::net {
18
20 public:
21 /**
22 * Creates a MulticastServiceAnnouncer.
23 *
24 * @param serviceName service name
25 * @param serviceType service type
26 * @param port port
27 * @param txt txt
28 */
30 std::string_view serviceName, std::string_view serviceType, int port,
31 std::span<const std::pair<std::string, std::string>> txt);
32
33 /**
34 * Creates a MulticastServiceAnnouncer.
35 *
36 * @param serviceName service name
37 * @param serviceType service type
38 * @param port port
39 * @param txt txt
40 */
42 std::string_view serviceName, std::string_view serviceType, int port,
43 std::span<const std::pair<std::string_view, std::string_view>> txt);
44
45 /**
46 * Creates a MulticastServiceAnnouncer.
47 *
48 * @param serviceName service name
49 * @param serviceType service type
50 * @param port port
51 */
52 MulticastServiceAnnouncer(std::string_view serviceName,
53 std::string_view serviceType, int port);
54
56
57 /**
58 * Starts multicast service announcer.
59 */
60 void Start();
61
62 /**
63 * Stops multicast service announcer.
64 */
65 void Stop();
66
67 /**
68 * Returns true if there's a multicast service announcer implementation.
69 *
70 * @return True if there's a multicast service announcer implementation.
71 */
72 bool HasImplementation() const;
73
74 struct Impl;
75
76 private:
77 std::unique_ptr<Impl> pImpl;
78};
79
80} // namespace wpi::net
81
82extern "C" {
83
84#endif
85
86typedef unsigned int WPI_MulticastServiceAnnouncerHandle; // NOLINT
87
89 const char* serviceName, const char* serviceType, int32_t port,
90 int32_t txtCount, const char** keys, const char** values);
91
94
97
100
103
104#ifdef __cplusplus
105} // extern "C"
106#endif
void WPI_FreeMulticastServiceAnnouncer(WPI_MulticastServiceAnnouncerHandle handle)
void WPI_StopMulticastServiceAnnouncer(WPI_MulticastServiceAnnouncerHandle handle)
unsigned int WPI_MulticastServiceAnnouncerHandle
Definition MulticastServiceAnnouncer.h:86
void WPI_StartMulticastServiceAnnouncer(WPI_MulticastServiceAnnouncerHandle handle)
int32_t WPI_GetMulticastServiceAnnouncerHasImplementation(WPI_MulticastServiceAnnouncerHandle handle)
WPI_MulticastServiceAnnouncerHandle WPI_CreateMulticastServiceAnnouncer(const char *serviceName, const char *serviceType, int32_t port, int32_t txtCount, const char **keys, const char **values)
MulticastServiceAnnouncer(std::string_view serviceName, std::string_view serviceType, int port, std::span< const std::pair< std::string, std::string > > txt)
Creates a MulticastServiceAnnouncer.
void Start()
Starts multicast service announcer.
MulticastServiceAnnouncer(std::string_view serviceName, std::string_view serviceType, int port, std::span< const std::pair< std::string_view, std::string_view > > txt)
Creates a MulticastServiceAnnouncer.
MulticastServiceAnnouncer(std::string_view serviceName, std::string_view serviceType, int port)
Creates a MulticastServiceAnnouncer.
void Stop()
Stops multicast service announcer.
bool HasImplementation() const
Returns true if there's a multicast service announcer implementation.
Definition StringMap.hpp:773
Definition raw_socket_ostream.hpp:9