#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. |