#include <microfeed-provider/microfeedprovider.h>
#include <microfeed-provider/microfeedpublisher.h>
#include <microfeed-common/microfeedmisc.h>
#include <microfeed-common/microfeedthread.h>
#include <microfeed-provider/microfeederror.h>
#include <microfeed-common/microfeedprotocol.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
Go to the source code of this file.
Data Structures | |
struct | _MicrofeedPublisher |
struct | Subscriber |
struct | Timeout |
struct | MethodCallback |
Typedefs | |
typedef struct _Thread | Thread |
Functions | |
MicrofeedPublisher * | microfeed_publisher_new (const char *publisher_identifier, const char *directory, DBusConnection *connection, MicrofeedPublisherCallbacks *callbacks, void *user_data) |
Instantiates a new publisher. | |
void | microfeed_publisher_free (MicrofeedPublisher *publisher) |
Frees the resources allocated for the publisher. | |
void | microfeed_publisher_add_setting (MicrofeedPublisher *publisher, const char *uid, const char *text, const char *unit, const char *type, const char *length, const char *value) |
Adds a new setting or changes other properties than the value of an existing setting in the org.microfeed.Publisher.Settings feed. | |
void | microfeed_publisher_remove_setting (MicrofeedPublisher *publisher, const char *uid) |
Removes a setting from the org.microfeed.Publisher.Settings feed. | |
char * | microfeed_publisher_get_setting_value (MicrofeedPublisher *publisher, const char *uid, const char *default_value) |
Returns a copy of a value of a setting, or if the setting does not exist returns a copy of the given default value. | |
long int | microfeed_publisher_get_setting_value_integer (MicrofeedPublisher *publisher, const char *uid, long int default_value) |
Returns a value of a setting in integer, or if the setting does not exist returns the given default value. | |
int | microfeed_publisher_set_setting_value (MicrofeedPublisher *publisher, const char *uid, const char *value) |
Sets the value of a setting if the setting exists. | |
MicrofeedThread * | microfeed_publisher_queue_thread (MicrofeedPublisher *publisher, MicrofeedThreadFunction function, void *data) |
MicrofeedThread * | microfeed_publisher_start_singleton_update_thread (MicrofeedPublisher *publisher, MicrofeedThreadFunction function, void *user_data) |
MicrofeedThread * | microfeed_publisher_get_singleton_update_thread (MicrofeedPublisher *publisher) |
MicrofeedDatabaseEnvironment * | microfeed_publisher_get_database_environment (MicrofeedPublisher *publisher) |
void | microfeed_publisher_handle_item_property_change (MicrofeedPublisher *publisher, MicrofeedItem *old_item, MicrofeedItem *new_item) |
void | microfeed_publisher_send_item_signal (MicrofeedPublisher *publisher, const char *destination, const char *signal_name, const char *uri, MicrofeedItem *item) |
void | microfeed_publisher_send_item_uid_signal (MicrofeedPublisher *publisher, const char *destination, const char *signal_name, const char *uri, const char *uid) |
void | microfeed_publisher_send_status_changed_signal (MicrofeedPublisher *publisher, const char *destination, const char *uri, const char *uid, const char status) |
void | microfeed_publisher_send_feed_signal (MicrofeedPublisher *publisher, const char *destination, const char *signal_name, const char *uri) |
void | microfeed_publisher_send_error_signal (MicrofeedPublisher *publisher, const char *destination, const char *error_name, const char *uri, const char *uid, const char *error_message) |
void | microfeed_publisher_send_item_data_signal (MicrofeedPublisher *publisher, const char *destination, const char *uri, const char *uid, const void *data, size_t data_size) |
const char * | microfeed_publisher_get_object_path (MicrofeedPublisher *publisher) |
const char * | microfeed_publisher_get_identifier (MicrofeedPublisher *publisher) |
void | microfeed_publisher_remove_subscriber (MicrofeedPublisher *publisher, const char *unique_connection_name) |
MicrofeedProvider * | microfeed_publisher_get_provider (MicrofeedPublisher *publisher) |
void | microfeed_publisher_set_provider (MicrofeedPublisher *publisher, MicrofeedProvider *provider) |
typedef struct _Thread Thread |
Definition at line 14 of file microfeedpublisher.c.
MicrofeedDatabaseEnvironment* microfeed_publisher_get_database_environment | ( | MicrofeedPublisher * | publisher | ) |
Definition at line 342 of file microfeedpublisher.c.
References _MicrofeedPublisher::database_environment.
Referenced by microfeed_feed_new().
const char* microfeed_publisher_get_identifier | ( | MicrofeedPublisher * | publisher | ) |
const char* microfeed_publisher_get_object_path | ( | MicrofeedPublisher * | publisher | ) |
Definition at line 476 of file microfeedpublisher.c.
References _MicrofeedPublisher::object_path.
Referenced by microfeed_provider_new().
MicrofeedProvider* microfeed_publisher_get_provider | ( | MicrofeedPublisher * | publisher | ) |
void microfeed_publisher_handle_item_property_change | ( | MicrofeedPublisher * | publisher, | |
MicrofeedItem * | old_item, | |||
MicrofeedItem * | new_item | |||
) |
Definition at line 347 of file microfeedpublisher.c.
References _MicrofeedPublisher::image_properties, _MicrofeedPublisher::images_feed, microfeed_feed_ref_item_data(), microfeed_feed_unref_item_data(), and microfeed_item_get_property().
Referenced by microfeed_feed_remove_item(), microfeed_feed_remove_items(), and microfeed_feed_replace_item().
void microfeed_publisher_remove_subscriber | ( | MicrofeedPublisher * | publisher, | |
const char * | unique_connection_name | |||
) |
Definition at line 484 of file microfeedpublisher.c.
References _MicrofeedPublisher::callbacks, _MicrofeedPublisher::connection, _MicrofeedPublisher::feeds, Subscriber::feeds, microfeed_feed_get_subscriber_count(), microfeed_feed_remove_subscriber(), microfeed_feed_unref(), microfeed_store_get, microfeed_store_get_size(), microfeed_store_iterate(), microfeed_store_iterator_get, microfeed_store_iterator_next(), microfeed_store_remove(), microfeed_thread_pool_get_started_thread_count(), _MicrofeedPublisherCallbacks::no_more_subscribers, Subscriber::publisher, _MicrofeedPublisher::subscribers, _MicrofeedPublisher::thread_pool, and _MicrofeedPublisher::user_data.
void microfeed_publisher_send_error_signal | ( | MicrofeedPublisher * | publisher, | |
const char * | destination, | |||
const char * | error_name, | |||
const char * | uri, | |||
const char * | uid, | |||
const char * | error_message | |||
) |
Definition at line 437 of file microfeedpublisher.c.
References _MicrofeedPublisher::connection, MICROFEED_DBUS_INTERFACE_ERROR, MICROFEED_DBUS_INTERFACE_ERROR_TO_DESTINATION, and _MicrofeedPublisher::object_path.
Referenced by microfeed_feed_send_item_data(), and microfeed_feed_update().
void microfeed_publisher_send_feed_signal | ( | MicrofeedPublisher * | publisher, | |
const char * | destination, | |||
const char * | signal_name, | |||
const char * | uri | |||
) |
Definition at line 425 of file microfeedpublisher.c.
References _MicrofeedPublisher::connection, MICROFEED_DBUS_INTERFACE_PUBLISHER, MICROFEED_DBUS_INTERFACE_PUBLISHER_TO_DESTINATION, and _MicrofeedPublisher::object_path.
Referenced by microfeed_feed_stop_update(), and microfeed_feed_update().
void microfeed_publisher_send_item_data_signal | ( | MicrofeedPublisher * | publisher, | |
const char * | destination, | |||
const char * | uri, | |||
const char * | uid, | |||
const void * | data, | |||
size_t | data_size | |||
) |
Definition at line 457 of file microfeedpublisher.c.
References _MicrofeedPublisher::connection, MICROFEED_DBUS_INTERFACE_PUBLISHER, MICROFEED_DBUS_INTERFACE_PUBLISHER_TO_DESTINATION, MICROFEED_SIGNAL_NAME_ITEM_DATA, and _MicrofeedPublisher::object_path.
Referenced by microfeed_feed_send_item_data().
void microfeed_publisher_send_item_signal | ( | MicrofeedPublisher * | publisher, | |
const char * | destination, | |||
const char * | signal_name, | |||
const char * | uri, | |||
MicrofeedItem * | item | |||
) |
Definition at line 368 of file microfeedpublisher.c.
References _MicrofeedPublisher::connection, MICROFEED_DBUS_INTERFACE_PUBLISHER, MICROFEED_DBUS_INTERFACE_PUBLISHER_TO_DESTINATION, microfeed_item_get_status(), microfeed_item_get_timestamp(), microfeed_item_get_uid(), microfeed_item_iterate_properties(), microfeed_item_iterator_free(), microfeed_item_iterator_get(), microfeed_item_iterator_next(), and _MicrofeedPublisher::object_path.
Referenced by microfeed_feed_ref_item_data(), and microfeed_feed_replace_item().
void microfeed_publisher_send_item_uid_signal | ( | MicrofeedPublisher * | publisher, | |
const char * | destination, | |||
const char * | signal_name, | |||
const char * | uri, | |||
const char * | uid | |||
) |
Definition at line 401 of file microfeedpublisher.c.
References _MicrofeedPublisher::connection, MICROFEED_DBUS_INTERFACE_PUBLISHER, MICROFEED_DBUS_INTERFACE_PUBLISHER_TO_DESTINATION, and _MicrofeedPublisher::object_path.
Referenced by microfeed_feed_iterator_jump_and_remove_previous_items(), microfeed_feed_remove_item(), microfeed_feed_remove_items(), and microfeed_feed_unref_item_data().
void microfeed_publisher_send_status_changed_signal | ( | MicrofeedPublisher * | publisher, | |
const char * | destination, | |||
const char * | uri, | |||
const char * | uid, | |||
const char | status | |||
) |
Definition at line 413 of file microfeedpublisher.c.
References _MicrofeedPublisher::connection, MICROFEED_DBUS_INTERFACE_PUBLISHER, MICROFEED_DBUS_INTERFACE_PUBLISHER_TO_DESTINATION, MICROFEED_SIGNAL_NAME_ITEM_STATUS_CHANGED, and _MicrofeedPublisher::object_path.
Referenced by microfeed_feed_set_item_status(), microfeed_feed_unset_item_status(), and microfeed_feed_unset_item_statuses().
void microfeed_publisher_set_provider | ( | MicrofeedPublisher * | publisher, | |
MicrofeedProvider * | provider | |||
) |