API - SmartSlog
|
00001 00034 #ifndef SS_SUBSCRIPTION_INTERNAL_H 00035 #define SS_SUBSCRIPTION_INTERNAL_H 00036 00037 00038 #include "structures.h" 00039 #include "subscription.h" 00040 #include "utils/list.h" 00041 00042 00043 #ifdef __cplusplus 00044 extern "C" { 00045 #endif 00046 00047 00051 #define SS_UNSUBSCRIBE_ATTEMPTS 10 00052 00053 /******************************************************************************/ 00054 /****************************** Structures list *******************************/ 00055 00057 00063 typedef struct subscription_data_s { 00064 individual_t *ind; 00065 list_t *properties; 00066 } subscription_data_t; 00067 00068 00069 00070 00072 00073 00078 struct subscription_s { 00080 int rtti; 00086 list_t sbrc_data; 00087 list_t sbrc_classes; 00089 bool is_active; 00090 bool is_asynchronous; 00092 ss_subs_info_t info; 00093 ss_info_t* ss_info; 00098 subscription_changes_data_t *last_changes; 00099 00103 void (*changed_handler)(subscription_t *sender); 00104 00108 void (*unsubscription_handler)(subscription_t *sender); 00110 }; 00111 00112 00113 /******************************************************************************/ 00114 /****************************** Functions list ********************************/ 00115 00117 00118 subscription_data_t* new_subscription_data(individual_t *individual, 00119 list_t *properties); 00120 void free_subscription_data(subscription_data_t *data, bool free_prop_list); 00121 void stop_all_subscriptions(); 00122 00124 00125 00126 #ifdef __cplusplus 00127 } 00128 #endif 00129 00130 #endif /* SS_SUBSCRIPTION_INTERNAL_H */ 00131