client-c  0.9.0
kaa_private.h
Go to the documentation of this file.
1 /*
2  * Copyright 2014-2016 CyberVision, Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
24 #ifndef KAA_PRIVATE_H
25 #define KAA_PRIVATE_H
26 
27 #include <kaa_error.h>
28 #include <kaa_user.h>
29 #include <kaa_status.h>
30 #include <kaa_event.h>
31 #include <kaa_channel_manager.h>
32 #include <kaa_platform_utils.h>
33 #include <platform/kaa_client.h>
34 #include <kaa_platform_common.h>
35 #include <stdint.h>
36 #include <kaa_context.h>
37 #include <kaa_profile.h>
41 #include <utilities/kaa_log.h>
42 #include <kaa_logging.h>
43 
44 #ifdef __cplusplus
45 extern "C" {
46 #endif // __cplusplus
47 
49  kaa_channel_manager_t *channel_manager, kaa_logger_t *logger);
50 
52 
56 
58  kaa_channel_manager_t *channel_manager, kaa_logger_t *logger);
61 
65  kaa_extension_id service_type);
66 
67 #ifndef KAA_DISABLE_FEATURE_EVENTS
69  kaa_channel_manager_t *channel_manager, kaa_logger_t *logger);
71 kaa_error_t kaa_event_manager_send_event(kaa_event_manager_t *self, const char *fqn, const char *event_data,
72  size_t event_data_size, kaa_endpoint_id_p target);
73 
75  const char *fqn, const char *event_data, size_t event_data_size, kaa_endpoint_id_p target);
76 
78  kaa_event_callback_t callback);
79 
80 #endif
81 
83 
85 
87  kaa_logger_t *logger, kaa_status_t *status);
89 
90 kaa_error_t kaa_status_set_registered(kaa_status_t *self, bool is_registered);
91 
92 #ifndef KAA_DISABLE_FEATURE_NOTIFICATION
95 #endif
96 
100 
102  , kaa_transport_protocol_id_t *protocol_id
103  , kaa_server_type_t server_type
104  , kaa_access_point_t *access_point);
105 
107  , kaa_transport_protocol_id_t *protocol_info);
108 
111  kaa_transport_protocol_id_t *protocol_id);
112 
113 
115 
116 #ifndef KAA_DISABLE_FEATURE_LOGGING
118  kaa_channel_manager_t *channel_manager, kaa_logger_t *logger);
122 #endif
123 
124 #ifndef KAA_DISABLE_FEATURE_CONFIGURATION
126  kaa_channel_manager_t *channel_manager, kaa_status_t *status, kaa_logger_t *logger);
128 #endif
129 
130 #ifndef KAA_DISABLE_FEATURE_NOTIFICATION
131 #endif
132 
134 
135 
136 kaa_error_t kaa_status_set_updated(kaa_status_t *self, bool is_updated);
137 
138 kaa_error_t kaa_status_set_attached(kaa_status_t *self, bool is_attached);
139 
140 kaa_error_t kaa_context_set_status_registered(kaa_context_t *kaa_context, bool is_registered);
141 
143 
146 kaa_error_t ext_unlimited_log_storage_create(void **log_storage_context_p, kaa_logger_t *logger);
147 kaa_error_t ext_limited_log_storage_create(void **log_storage_context_p, kaa_logger_t *logger,
148  size_t storage_size, size_t percent_to_delete);
149 kaa_error_t ext_log_storage_destroy(void *context);
150 
153 };
154 
155 kaa_error_t kaa_extension_bootstrap_init(kaa_context_t *kaa_context, void **context);
156 kaa_error_t kaa_extension_profile_init(kaa_context_t *kaa_context, void **context);
157 kaa_error_t kaa_extension_event_init(kaa_context_t *kaa_context, void **context);
158 kaa_error_t kaa_extension_logging_init(kaa_context_t *kaa_context, void **context);
159 kaa_error_t kaa_extension_configuration_init(kaa_context_t *kaa_context, void **context);
160 kaa_error_t kaa_extension_notification_init(kaa_context_t *kaa_context, void **context);
161 kaa_error_t kaa_extension_user_init(kaa_context_t *kaa_context, void **context);
162 
170 
171 kaa_error_t kaa_extension_bootstrap_request_serialize(void *context, uint32_t request_id,
172  uint8_t *buffer, size_t *size, bool *need_resync);
173 kaa_error_t kaa_extension_profile_request_serialize(void *context, uint32_t request_id,
174  uint8_t *buffer, size_t *size, bool *need_resync);
175 kaa_error_t kaa_extension_event_request_serialize(void *context, uint32_t request_id,
176  uint8_t *buffer, size_t *size, bool *need_resync);
177 kaa_error_t kaa_extension_logging_request_serialize(void *context, uint32_t request_id,
178  uint8_t *buffer, size_t *size, bool *need_resync);
179 kaa_error_t kaa_extension_configuration_request_serialize(void *context, uint32_t request_id,
180  uint8_t *buffer, size_t *size, bool *need_resync);
181 kaa_error_t kaa_extension_notification_request_serialize(void *context, uint32_t request_id,
182  uint8_t *buffer, size_t *size, bool *need_resync);
183 kaa_error_t kaa_extension_user_request_serialize(void *context, uint32_t request_id,
184  uint8_t *buffer, size_t *size, bool *need_resync);
185 
186 kaa_error_t kaa_extension_bootstrap_server_sync(void *context, uint32_t request_id,
187  uint16_t extension_options, const uint8_t *buffer, size_t size);
188 kaa_error_t kaa_extension_profile_server_sync(void *context, uint32_t request_id,
189  uint16_t extension_options, const uint8_t *buffer, size_t size);
190 kaa_error_t kaa_extension_event_server_sync(void *context, uint32_t request_id,
191  uint16_t extension_options, const uint8_t *buffer, size_t size);
192 kaa_error_t kaa_extension_logging_server_sync(void *context, uint32_t request_id,
193  uint16_t extension_options, const uint8_t *buffer, size_t size);
194 kaa_error_t kaa_extension_configuration_server_sync(void *context, uint32_t request_id,
195  uint16_t extension_options, const uint8_t *buffer, size_t size);
196 kaa_error_t kaa_extension_notification_server_sync(void *context, uint32_t request_id,
197  uint16_t extension_options, const uint8_t *buffer, size_t size);
198 kaa_error_t kaa_extension_user_server_sync(void *context, uint32_t request_id,
199  uint16_t extension_options, const uint8_t *buffer, size_t size);
200 
201 /* ALL FUNCTIONS BELOW ARE DEPRECATED
202  *
203  * They should be removed once we move extensions out of the core.
204  */
205 
208 kaa_error_t kaa_event_request_get_size(kaa_event_manager_t *self, size_t *expected_size);
209 kaa_error_t kaa_logging_request_get_size(kaa_log_collector_t *self, size_t *expected_size);
212 kaa_error_t kaa_user_request_get_size(kaa_user_manager_t *self, size_t *expected_size);
213 
230  kaa_platform_message_writer_t* writer, uint32_t request_id);
231 
232 kaa_error_t kaa_profile_handle_server_sync(kaa_profile_manager_t *self, kaa_platform_message_reader_t *reader, uint16_t extension_options, size_t extension_length);
233 kaa_error_t kaa_logging_handle_server_sync(kaa_log_collector_t *self, kaa_platform_message_reader_t *reader, uint16_t extension_options, size_t extension_length);
234 kaa_error_t kaa_configuration_manager_handle_server_sync(kaa_configuration_manager_t *self, kaa_platform_message_reader_t *reader, uint16_t extension_options, size_t extension_length);
236 kaa_error_t kaa_event_handle_server_sync(kaa_event_manager_t *self, kaa_platform_message_reader_t *reader, uint16_t extension_options, size_t extension_length, size_t request_id);
237 kaa_error_t kaa_bootstrap_manager_handle_server_sync(kaa_bootstrap_manager_t *self, kaa_platform_message_reader_t *reader, uint16_t extension_options, size_t extension_length);
238 kaa_error_t kaa_user_handle_server_sync(kaa_user_manager_t *self, kaa_platform_message_reader_t *reader, uint16_t extension_options, size_t extension_length);
239 #ifdef __cplusplus
240 }
241 #endif // __cplusplus
242 
243 #endif /* KAA_PRIVATE_H */
kaa_server_type_t
kaa_error_t kaa_extension_user_deinit(void *context)
kaa_error_t kaa_user_request_get_size(kaa_user_manager_t *self, size_t *expected_size)
kaa_error_t kaa_extension_notification_server_sync(void *context, uint32_t request_id, uint16_t extension_options, const uint8_t *buffer, size_t size)
kaa_error_t kaa_extension_logging_deinit(void *context)
kaa_error_t ext_limited_log_storage_create(void **log_storage_context_p, kaa_logger_t *logger, size_t storage_size, size_t percent_to_delete)
kaa_access_point_t * kaa_bootstrap_manager_get_bootstrap_access_point(kaa_bootstrap_manager_t *self, kaa_transport_protocol_id_t *protocol_id)
bool ext_log_upload_strategy_is_timeout_strategy(void *strategy)
User defined channels manager for Kaa C SDK.
kaa_error_t kaa_user_manager_create(kaa_user_manager_t **user_manager_p, kaa_status_t *status, kaa_channel_manager_t *channel_manager, kaa_logger_t *logger)
kaa_error_t kaa_profile_force_sync(kaa_profile_manager_t *self)
struct kaa_client_t kaa_client_t
Definition: kaa_client.h:39
kaa_error_t kaa_extension_bootstrap_deinit(void *context)
kaa_error_t kaa_notification_manager_get_size(kaa_notification_manager_t *self, size_t *expected_size)
kaa_error_t kaa_bootstrap_manager_handle_server_sync(kaa_bootstrap_manager_t *self, kaa_platform_message_reader_t *reader, uint16_t extension_options, size_t extension_length)
kaa_error_t kaa_log_collector_create(kaa_log_collector_t **log_collector_p, kaa_status_t *status, kaa_channel_manager_t *channel_manager, kaa_logger_t *logger)
kaa_error_t kaa_channel_manager_create(kaa_channel_manager_t **channel_manager_p, kaa_context_t *context)
void(* kaa_event_callback_t)(const char *event_fqn, const char *event_data, size_t event_data_size, kaa_endpoint_id_p event_source)
Definition: kaa_event.h:35
Identifier used to uniquely represent transport protocol.
Definition: kaa_common.h:71
kaa_error_t kaa_failover_strategy_create(kaa_failover_strategy_t **strategy, kaa_logger_t *logger)
kaa_error_t kaa_status_set_attached(kaa_status_t *self, bool is_attached)
size_t kaa_event_block_id
Definition: kaa_event.h:36
kaa_error_t
Definition: kaa_error.h:31
void kaa_notification_manager_destroy(kaa_notification_manager_t *self)
kaa_error_t kaa_log_collector_init(kaa_client_t *kaa_client)
kaa_error_t kaa_status_set_registered(kaa_status_t *self, bool is_registered)
kaa_error_t kaa_meta_data_request_serialize(kaa_platform_protocol_t *status, kaa_platform_message_writer_t *writer, uint32_t request_id)
kaa_error_t kaa_event_request_serialize(kaa_event_manager_t *self, size_t request_id, kaa_platform_message_writer_t *writer)
Interface for a client transport channel implementation.
kaa_error_t kaa_extension_configuration_request_serialize(void *context, uint32_t request_id, uint8_t *buffer, size_t *size, bool *need_resync)
kaa_error_t kaa_extension_logging_init(kaa_context_t *kaa_context, void **context)
kaa_error_t kaa_notification_manager_create(kaa_notification_manager_t **self, kaa_status_t *status, kaa_channel_manager_t *channel_manager, kaa_logger_t *logger)
kaa_error_t kaa_status_save(kaa_status_t *kaa_status_p)
kaa_error_t kaa_logging_handle_server_sync(kaa_log_collector_t *self, kaa_platform_message_reader_t *reader, uint16_t extension_options, size_t extension_length)
kaa_error_t kaa_extension_event_request_serialize(void *context, uint32_t request_id, uint8_t *buffer, size_t *size, bool *need_resync)
kaa_error_t kaa_event_manager_add_on_event_callback(kaa_event_manager_t *self, const char *fqn, kaa_event_callback_t callback)
Kaa profile reporting API.
void kaa_status_destroy(kaa_status_t *self)
kaa_error_t kaa_logging_need_logging_resync(kaa_log_collector_t *self, bool *result)
kaa_error_t kaa_extension_configuration_deinit(void *context)
void kaa_bootstrap_manager_destroy(kaa_bootstrap_manager_t *self)
Kaa endpoint context definition.
void kaa_log_collector_destroy(kaa_log_collector_t *self)
kaa_access_point_t * kaa_bootstrap_manager_get_operations_access_point(kaa_bootstrap_manager_t *self, kaa_transport_protocol_id_t *protocol_info)
kaa_error_t kaa_extension_bootstrap_init(kaa_context_t *kaa_context, void **context)
Kaa error codes.
kaa_error_t kaa_extension_profile_deinit(void *context)
bool kaa_profile_manager_is_profile_set(kaa_profile_manager_t *self)
kaa_error_t kaa_event_request_get_size(kaa_event_manager_t *self, size_t *expected_size)
kaa_error_t kaa_profile_manager_create(kaa_profile_manager_t **profile_manager_p, kaa_status_t *status, kaa_channel_manager_t *channel_manager, kaa_logger_t *logger)
kaa_extension_id
Kaa extensions.
Definition: kaa_common.h:35
kaa_error_t ext_log_storage_destroy(void *context)
kaa_error_t kaa_configuration_manager_get_size(kaa_configuration_manager_t *self, size_t *expected_size)
bool kaa_bootstrap_manager_process_failover(kaa_bootstrap_manager_t *self)
kaa_error_t kaa_user_request_serialize(kaa_user_manager_t *self, kaa_platform_message_writer_t *writer)
struct kaa_failover_strategy_t kaa_failover_strategy_t
Kaa event subsystem API.
struct kaa_logger_t kaa_logger_t
Definition: kaa_log.h:68
void ext_log_upload_timeout(kaa_log_collector_t *self)
kaa_error_t kaa_profile_handle_server_sync(kaa_profile_manager_t *self, kaa_platform_message_reader_t *reader, uint16_t extension_options, size_t extension_length)
kaa_error_t kaa_channel_manager_bootstrap_request_serialize(kaa_channel_manager_t *self, kaa_platform_message_writer_t *writer)
kaa_error_t kaa_channel_manager_on_new_access_point(kaa_channel_manager_t *self, kaa_transport_protocol_id_t *protocol_id, kaa_server_type_t server_type, kaa_access_point_t *access_point)
kaa_error_t kaa_status_set_endpoint_access_token(kaa_status_t *self, const char *token)
Kaa data logging subsystem API.
kaa_error_t kaa_platform_protocol_create(kaa_platform_protocol_t **platform_protocol_p, kaa_logger_t *logger, kaa_status_t *status)
kaa_error_t kaa_extension_event_server_sync(void *context, uint32_t request_id, uint16_t extension_options, const uint8_t *buffer, size_t size)
void kaa_profile_manager_destroy(kaa_profile_manager_t *self)
kaa_error_t kaa_event_handle_server_sync(kaa_event_manager_t *self, kaa_platform_message_reader_t *reader, uint16_t extension_options, size_t extension_length, size_t request_id)
kaa_error_t kaa_profile_need_profile_resync(kaa_profile_manager_t *kaa_context, bool *result)
struct kaa_user_manager_t kaa_user_manager_t
Definition: kaa_user.h:44
kaa_error_t kaa_extension_notification_init(kaa_context_t *kaa_context, void **context)
void kaa_event_manager_destroy(kaa_event_manager_t *self)
kaa_error_t kaa_channel_manager_bootstrap_request_get_size(kaa_channel_manager_t *self, size_t *expected_size)
kaa_error_t kaa_status_create(kaa_status_t **kaa_status_p)
void kaa_channel_manager_destroy(kaa_channel_manager_t *self)
kaa_error_t kaa_extension_profile_server_sync(void *context, uint32_t request_id, uint16_t extension_options, const uint8_t *buffer, size_t size)
kaa_error_t kaa_extension_profile_request_serialize(void *context, uint32_t request_id, uint8_t *buffer, size_t *size, bool *need_resync)
struct kaa_profile_manager_t kaa_profile_manager_t
Definition: kaa_profile.h:43
kaa_error_t kaa_event_manager_create(kaa_event_manager_t **event_manager_p, kaa_status_t *status, kaa_channel_manager_t *channel_manager, kaa_logger_t *logger)
kaa_error_t kaa_extension_configuration_init(kaa_context_t *kaa_context, void **context)
kaa_error_t kaa_event_manager_add_event_to_transaction(kaa_event_manager_t *self, kaa_event_block_id trx_id, const char *fqn, const char *event_data, size_t event_data_size, kaa_endpoint_id_p target)
kaa_transport_channel_interface_t * kaa_channel_manager_get_transport_channel(kaa_channel_manager_t *self, kaa_extension_id service_type)
kaa_status_t * status_instance
Definition: kaa_private.h:152
struct kaa_platform_protocol_t kaa_platform_protocol_t
kaa_error_t kaa_configuration_manager_create(kaa_configuration_manager_t **configuration_manager_p, kaa_channel_manager_t *channel_manager, kaa_status_t *status, kaa_logger_t *logger)
kaa_error_t kaa_user_handle_server_sync(kaa_user_manager_t *self, kaa_platform_message_reader_t *reader, uint16_t extension_options, size_t extension_length)
kaa_error_t kaa_extension_configuration_server_sync(void *context, uint32_t request_id, uint16_t extension_options, const uint8_t *buffer, size_t size)
void kaa_configuration_manager_destroy(kaa_configuration_manager_t *self)
kaa_error_t kaa_extension_user_server_sync(void *context, uint32_t request_id, uint16_t extension_options, const uint8_t *buffer, size_t size)
kaa_error_t kaa_bootstrap_manager_create(kaa_bootstrap_manager_t **bootstrap_manager_p, kaa_context_t *kaa_context)
struct kaa_channel_manager_t kaa_channel_manager_t
kaa_error_t kaa_extension_user_init(kaa_context_t *kaa_context, void **context)
void kaa_failover_strategy_destroy(kaa_failover_strategy_t *strategy)
kaa_error_t kaa_event_manager_send_event(kaa_event_manager_t *self, const char *fqn, const char *event_data, size_t event_data_size, kaa_endpoint_id_p target)
kaa_error_t kaa_bootstrap_manager_bootstrap_request_serialize(kaa_bootstrap_manager_t *self, kaa_platform_message_writer_t *writer)
kaa_error_t kaa_profile_request_get_size(kaa_profile_manager_t *self, size_t *expected_size)
Simple logger for Kaa C Endpoint.
kaa_error_t kaa_extension_profile_init(kaa_context_t *kaa_context, void **context)
kaa_error_t kaa_notification_manager_request_serialize(kaa_notification_manager_t *self, kaa_platform_message_writer_t *writer)
kaa_error_t kaa_configuration_manager_request_serialize(kaa_configuration_manager_t *self, kaa_platform_message_writer_t *writer)
kaa_error_t ext_unlimited_log_storage_create(void **log_storage_context_p, kaa_logger_t *logger)
struct kaa_configuration_manager_t kaa_configuration_manager_t
kaa_error_t kaa_extension_bootstrap_server_sync(void *context, uint32_t request_id, uint16_t extension_options, const uint8_t *buffer, size_t size)
void kaa_user_manager_destroy(kaa_user_manager_t *user_manager)
const uint8_t * kaa_endpoint_id_p
Definition: kaa_common.h:96
struct kaa_notification_manager_t kaa_notification_manager_t
Kaa notification manager structure.
kaa_error_t kaa_notification_manager_handle_server_sync(kaa_notification_manager_t *self, kaa_platform_message_reader_t *reader, uint32_t extension_length)
kaa_error_t kaa_extension_notification_deinit(void *context)
Connection parameters used by transport channels to establish connection both to Bootstrap and Operat...
Definition: kaa_common.h:85
kaa_error_t kaa_configuration_manager_handle_server_sync(kaa_configuration_manager_t *self, kaa_platform_message_reader_t *reader, uint16_t extension_options, size_t extension_length)
kaa_error_t kaa_extension_event_init(kaa_context_t *kaa_context, void **context)
kaa_error_t kaa_extension_user_request_serialize(void *context, uint32_t request_id, uint8_t *buffer, size_t *size, bool *need_resync)
struct kaa_log_collector_t kaa_log_collector_t
Definition: kaa_logging.h:42
kaa_error_t kaa_status_set_updated(kaa_status_t *self, bool is_updated)
kaa_error_t kaa_logging_request_serialize(kaa_log_collector_t *self, kaa_platform_message_writer_t *writer)
struct kaa_event_manager_t kaa_event_manager_t
Definition: kaa_event.h:40
kaa_error_t kaa_extension_logging_request_serialize(void *context, uint32_t request_id, uint8_t *buffer, size_t *size, bool *need_resync)
kaa_error_t kaa_profile_request_serialize(kaa_profile_manager_t *self, kaa_platform_message_writer_t *writer)
kaa_error_t kaa_extension_bootstrap_request_serialize(void *context, uint32_t request_id, uint8_t *buffer, size_t *size, bool *need_resync)
kaa_error_t kaa_extension_logging_server_sync(void *context, uint32_t request_id, uint16_t extension_options, const uint8_t *buffer, size_t size)
kaa_error_t kaa_extension_event_deinit(void *context)
Endpoint-to-user association management for Kaa C SDK.
kaa_error_t kaa_extension_notification_request_serialize(void *context, uint32_t request_id, uint8_t *buffer, size_t *size, bool *need_resync)
struct kaa_bootstrap_manager_t kaa_bootstrap_manager_t
kaa_error_t kaa_context_set_status_registered(kaa_context_t *kaa_context, bool is_registered)
kaa_error_t kaa_logging_request_get_size(kaa_log_collector_t *self, size_t *expected_size)
void kaa_platform_protocol_destroy(kaa_platform_protocol_t *self)