iceoryx_binding_c  2.0.2
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 
26 typedef CLASS ServiceDiscovery* iox_service_discovery_t;
27 
31 iox_service_discovery_t iox_service_discovery_init(iox_service_discovery_storage_t* self);
32 
35 void iox_service_discovery_deinit(iox_service_discovery_t const self);
36 
49 uint64_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 
66 void 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 
82 void 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