#include <stdlib.h>#include <pthread.h>#include "ss_subscribe.h"#include "structures.h"#include "utils/check_func.h"#include "kpi_low.h"#include "ss_func.h"#include "utils/util_func.h"#include "utils/kp_debug.h"#include "classes.h"#include <string.h>#include <bits/waitstatus.h>#include <unistd.h>Data Structures | |
| struct | async_sbcr_thread_s |
| Data for asynchronous subscribe thread. More... | |
Typedefs | |
| typedef struct async_sbcr_thread_s | async_sbcr_thread_t |
| Data for asynchronous subscribe thread. | |
Functions | |
| subscription_container_t * | new_subscription_container () |
| New subscription container. | |
| subscription_data_t * | new_subscription_data (individual_t *ind, list_t *properties) |
| New data for subscription container. | |
| void | free_subscription_data (subscription_data_t *data, bool free_prop_list) |
| Free subscription container data. | |
| void | free_subscription_container (subscription_container_t *container) |
| Free subscription container. | |
| void | set_subscription_container_callback (subscription_container_t *container, void(*func)(subscription_container_t *, list_t *)) |
| Sets callback function for subscription. | |
| int | add_individual_to_subscription_container (subscription_container_t *container, individual_t *ind, list_t *properties) |
| Add individual to subscription. | |
| int | wait_subscribe (subscription_container_t *container) |
| Wait data from SS for container and update it. | |
| int | ss_subscribe_container (subscription_container_t *container, bool is_asynchronous) |
| Subscribe container. | |
| int | ss_unsubscribe_container (subscription_container_t *container) |
| Unsubscribe given container. | |
| void | stop_all_subscriptions () |
| Stop asynchronous subscribe. Unsubscribe all asynchronous containers and remove all containers from list. | |
| typedef struct async_sbcr_thread_s async_sbcr_thread_t |
Data for asynchronous subscribe thread.
| int add_individual_to_subscription_container | ( | subscription_container_t * | container, | |
| individual_t * | ind, | |||
| list_t * | properties | |||
| ) |
Add individual to subscription.
| ind | individual. | |
| properties | list of properties for subscribe or NULL for all properties. |
| void free_subscription_container | ( | subscription_container_t * | container | ) |
Free subscription container.
Free subscription container structure. Also free subscription's data structures, individual and properties not freed, only list structure of properties.
| container | subscription container for free. |
| void free_subscription_data | ( | subscription_data_t * | data, | |
| bool | free_prop_list | |||
| ) |
Free subscription container data.
Free subscription data structure, individual and properties not freed. You can free properties list (only list structure will be freed, not properties), using parameter free_prop_list.
| data | subscription data for free. | |
| free_prop_list | if it equals true - list structure will be freed, without properties. |
| subscription_container_t* new_subscription_container | ( | ) |
New subscription container.
| subscription_data_t* new_subscription_data | ( | individual_t * | ind, | |
| list_t * | properties | |||
| ) |
New data for subscription container.
Subscription data contains individual and list of properties or NULL for all properties of individual.
| ind | individual. | |
| properties | list of properties for subscribe or NULL for all properties. |
| void set_subscription_container_callback | ( | subscription_container_t * | container, | |
| void(*)(subscription_container_t *, list_t *) | func | |||
| ) |
Sets callback function for subscription.
This functions call then some properties changed in container.
| container | subscription container. | |
| reference | to callback function. |
| int ss_subscribe_container | ( | subscription_container_t * | container, | |
| bool | is_asynchronous | |||
| ) |
Subscribe container.
| container | subscription container for subscribe. | |
| is_asynchronous | sibscription mode (true - async, false - sync). |
| int ss_unsubscribe_container | ( | subscription_container_t * | container | ) |
Unsubscribe given container.
| container | subscription container for unsubscribe. |
| void stop_all_subscriptions | ( | ) |
Stop asynchronous subscribe. Unsubscribe all asynchronous containers and remove all containers from list.
| int wait_subscribe | ( | subscription_container_t * | container | ) |
Wait data from SS for container and update it.
| container | subscription container. |