Top |
RygelTrackableContainerRygelTrackableContainer — The base class for containers that provide automatic change tracking. |
Functions
Description
Derived classes should implement the add_child()
and remove_child()
virtual functions to keep track of child items and child containers.
Rygel server plugins (See RygelMediaServer) may then call rygel_trackable_container_add_child_tracked()
and rygel_trackable_container_remove_child_tracked()
to add and remove items, which will then cause the “container_updated” signal to be emitted.
Functions
rygel_trackable_container_clear ()
void rygel_trackable_container_clear (RygelTrackableContainer *self
,GAsyncReadyCallback _callback_
,gpointer _user_data_
);
See also: rygel_trackable_container_clear_finish()
Parameters
self |
the RygelTrackableContainer instance |
|
_callback_ |
callback to call when the request is satisfied. |
[scope async] |
_user_data_ |
the data to pass to |
[closure] |
rygel_trackable_container_clear_finish ()
void rygel_trackable_container_clear_finish (RygelTrackableContainer *self
,GAsyncResult *_res_
);
See also: rygel_trackable_container_clear()
rygel_trackable_container_add_child ()
void rygel_trackable_container_add_child (RygelTrackableContainer *self
,RygelMediaObject *object
,GAsyncReadyCallback _callback_
,gpointer _user_data_
);
Derived classes should implement this, keeping track of the child item or child container. See the remove_child()
virtual function.
See also: rygel_trackable_container_add_child_finish()
Parameters
self |
the RygelTrackableContainer instance |
|
object |
|
|
_callback_ |
callback to call when the request is satisfied. |
[scope async] |
_user_data_ |
the data to pass to |
[closure] |
rygel_trackable_container_add_child_finish ()
void rygel_trackable_container_add_child_finish (RygelTrackableContainer *self
,GAsyncResult *_res_
);
Derived classes should implement this, keeping track of the child item or child container. See the remove_child()
virtual function.
See also: rygel_trackable_container_add_child()
rygel_trackable_container_add_child_tracked ()
void rygel_trackable_container_add_child_tracked (RygelTrackableContainer *self
,RygelMediaObject *object
,GAsyncReadyCallback _callback_
,gpointer _user_data_
);
Add a child object, emitting the “container_updated” signal with the object.
See also: rygel_trackable_object_remove_child_tracked()
, rygel_trackable_container_add_child_tracked_finish()
Parameters
self |
the RygelTrackableContainer instance |
|
object |
. The child item or child container to be added. . |
[in] |
_callback_ |
callback to call when the request is satisfied. |
[scope async] |
_user_data_ |
the data to pass to |
[closure] |
rygel_trackable_container_add_child_tracked_finish ()
void rygel_trackable_container_add_child_tracked_finish (RygelTrackableContainer *self
,GAsyncResult *_res_
);
Add a child object, emitting the “container_updated” signal with the object.
See also: rygel_trackable_object_remove_child_tracked()
, rygel_trackable_container_add_child_tracked()
rygel_trackable_container_remove_child ()
void rygel_trackable_container_remove_child (RygelTrackableContainer *self
,RygelMediaObject *object
,GAsyncReadyCallback _callback_
,gpointer _user_data_
);
Derived classes should implement this, removing the child item or child container from its set of objects. See the add_child()
virtual function.
See also: rygel_trackable_container_remove_child_finish()
Parameters
self |
the RygelTrackableContainer instance |
|
object |
|
|
_callback_ |
callback to call when the request is satisfied. |
[scope async] |
_user_data_ |
the data to pass to |
[closure] |
rygel_trackable_container_remove_child_finish ()
void rygel_trackable_container_remove_child_finish (RygelTrackableContainer *self
,GAsyncResult *_res_
);
Derived classes should implement this, removing the child item or child container from its set of objects. See the add_child()
virtual function.
See also: rygel_trackable_container_remove_child()
rygel_trackable_container_remove_child_tracked ()
void rygel_trackable_container_remove_child_tracked (RygelTrackableContainer *self
,RygelMediaObject *object
,GAsyncReadyCallback _callback_
,gpointer _user_data_
);
Add a child object, emitting the “container_updated” signal with the object.
See also: rygel_trackable_object_add_child_tracked()
, rygel_trackable_container_remove_child_tracked_finish()
Parameters
self |
the RygelTrackableContainer instance |
|
object |
. The child item or child container to be added. . |
[in] |
_callback_ |
callback to call when the request is satisfied. |
[scope async] |
_user_data_ |
the data to pass to |
[closure] |
rygel_trackable_container_remove_child_tracked_finish ()
void rygel_trackable_container_remove_child_tracked_finish (RygelTrackableContainer *self
,GAsyncResult *_res_
);
Add a child object, emitting the “container_updated” signal with the object.
See also: rygel_trackable_object_add_child_tracked()
, rygel_trackable_container_remove_child_tracked()
rygel_trackable_container_get_service_reset_token ()
gchar *
rygel_trackable_container_get_service_reset_token
(RygelTrackableContainer *self
);
Used to query the (persisted) service reset token from the plug-in.
If a plugin implements PLUGIN_CAPABILITIES_TRACK_CHANGES, it should persist the ServiceResetToken. To do this override this virtual function in the root container implementation and provide the persisted version.
rygel_trackable_container_set_service_reset_token ()
void rygel_trackable_container_set_service_reset_token (RygelTrackableContainer *self
,const gchar *token
);
Set a new service reset token.
If the service reset procedure has to be performed, the content directory service will set the new service reset token.
rygel_trackable_container_get_system_update_id ()
guint32
rygel_trackable_container_get_system_update_id
(RygelTrackableContainer *self
);
Query the current system update ID, used for the UPnP GetSystemUpdateID implementation.
This should be overriden by the root container of the back-end implementation. This will only be called once, at service startup, to discover the cached system Update ID, if any, that was known when the service last shut down.
Derived classes may need to delay part of their initialization until this function has been called, doing that initialization in the function override. That can prevent other parts of their implementation from changing the cached System Update ID before it has been provided.
Types and Values
RygelTrackableContainer
typedef struct _RygelTrackableContainer RygelTrackableContainer;
The base class for containers that provide automatic change tracking.
Derived classes should implement the add_child()
and remove_child()
virtual functions to keep track of child items and child containers.
Rygel server plugins (See RygelMediaServer) may then call rygel_trackable_container_add_child_tracked()
and rygel_trackable_container_remove_child_tracked()
to add and remove items, which will then cause the “container_updated” signal to be emitted.
struct RygelTrackableContainerIface
struct RygelTrackableContainerIface { GTypeInterface parent_iface; void (*add_child) (RygelTrackableContainer* self, RygelMediaObject* object, GAsyncReadyCallback _callback_, gpointer _user_data_); void (*add_child_finish) (RygelTrackableContainer* self, GAsyncResult* _res_); void (*remove_child) (RygelTrackableContainer* self, RygelMediaObject* object, GAsyncReadyCallback _callback_, gpointer _user_data_); void (*remove_child_finish) (RygelTrackableContainer* self, GAsyncResult* _res_); gchar* (*get_service_reset_token) (RygelTrackableContainer* self); void (*set_service_reset_token) (RygelTrackableContainer* self, const gchar* token); guint32 (*get_system_update_id) (RygelTrackableContainer* self); };
Interface for creating RygelTrackableContainer implementations.
Members
GTypeInterface |
the parent interface structure |
|
virtual method used internally |
||
asynchronous finish function used internally |
||
virtual method used internally |
||
asynchronous finish function used internally |
||
virtual method called by |
||
virtual method called by |
||
virtual method called by |
Signal Details
The “child-added”
signal
void user_function (RygelTrackableContainer *trackable_container, RygelMediaObject *object, gpointer user_data)
Parameters
trackable_container |
the RygelTrackableContainer instance that received the signal |
|
object |
|
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
The “child-removed”
signal
void user_function (RygelTrackableContainer *trackable_container, RygelMediaObject *object, gpointer user_data)
Parameters
trackable_container |
the RygelTrackableContainer instance that received the signal |
|
object |
|
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last