API - SmartSlog

ss_subscription_internal.h

Go to the documentation of this file.
00001 
00035 #include "utils/list.h"
00036 #include "structures.h"
00037 #include "ss_subscribe.h"
00038 
00039 #ifndef SS_SUBSCRIPTION_INTERNAL_H
00040 #define SS_SUBSCRIPTION_INTERNAL_H
00041 
00042 
00043 
00044 #ifdef  __cplusplus
00045 extern "C" {
00046 #endif
00047 
00048 /******************************************************************************/
00049 /****************************** Structures list *******************************/
00050 
00053 
00055 typedef struct subscription_data_s {
00056     individual_t *ind;  
00057     list_t *properties; 
00058 } subscription_data_t;
00059 
00060 
00071 struct subscription_s {
00072     int rtti;                   
00073     list_t *sbrc_data;          
00074     list_t *sbrc_classes;       
00075     void (*callback)(struct subscription_s* subscription); 
00076     bool is_active;             
00077     bool is_asynchronous;       
00078     ss_subs_info_t info;        
00079     ss_info_t* ss_info;         
00081     subscription_changes_data_t *last_changes;
00082     void (*changed_handler)(subscription_t *sender); 
00083     void (*unsubscription_handler)(subscription_t *sender); 
00084 };
00085 
00086 
00087 
00088 
00089 /******************************************************************************/
00090 /****************************** Functions list ********************************/
00091 
00093 
00094 subscription_data_t* new_subscription_data(individual_t *ind, list_t *properties);
00095 void free_subscription_data(subscription_data_t *data, bool free_prop_list);
00096 void stop_all_subscriptions();
00097 
00099 
00100 
00101 #ifdef  __cplusplus
00102 }
00103 #endif
00104 
00105 #endif  /* SS_SUBSCRIPTION_INTERNAL_H */
00106