iceoryx_binding_c 2.0.3
service_discovery.h
1// Copyright (c) 2022 by Apex.AI Inc. All rights reserved.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15// SPDX-License-Identifier: Apache-2.0
16
17#ifndef IOX_BINDING_C_SERVICE_DISCOVERY_H
18#define IOX_BINDING_C_SERVICE_DISCOVERY_H
19
20#include "iceoryx_binding_c/enums.h"
21#include "iceoryx_binding_c/internal/c2cpp_binding.h"
22#include "iceoryx_binding_c/types.h"
23#include "service_description.h"
24
26typedef CLASS ServiceDiscovery* iox_service_discovery_t;
27
31iox_service_discovery_t iox_service_discovery_init(iox_service_discovery_storage_t* self);
32
35void iox_service_discovery_deinit(iox_service_discovery_t const self);
36
49uint64_t iox_service_discovery_find_service(iox_service_discovery_t const self,
50 const char* const service,
51 const char* const instance,
52 const char* const event,
53 iox_service_description_t* const serviceContainer,
54 const uint64_t serviceContainerCapacity,
55 uint64_t* missedServices,
56 const ENUM iox_MessagingPattern pattern);
57
66void iox_service_discovery_find_service_apply_callable(iox_service_discovery_t const self,
67 const char* const service,
68 const char* const instance,
69 const char* const event,
70 void (*callable)(const iox_service_description_t),
71 const ENUM iox_MessagingPattern pattern);
72
82void iox_service_discovery_find_service_apply_callable_with_context_data(
83 iox_service_discovery_t const self,
84 const char* const service,
85 const char* const instance,
86 const char* const event,
87 void (*callable)(const iox_service_description_t, void*),
88 void* const contextData,
89 const ENUM iox_MessagingPattern pattern);
90
91#endif
Definition: service_description.h:25
has exactly the size required to store the underlying object of iox_service_discovery_t
Definition: types.h:87