gstreamer_core/gst/gstchildproxy.c
branchRCL_3
changeset 30 7e817e7e631c
parent 29 567bb019e3e3
equal deleted inserted replaced
29:567bb019e3e3 30:7e817e7e631c
   465 }
   465 }
   466 
   466 
   467 /**
   467 /**
   468  * gst_child_proxy_child_removed:
   468  * gst_child_proxy_child_removed:
   469  * @object: the parent object
   469  * @object: the parent object
   470  * @child: the removed child
   470  * @child: the newly added child
   471  *
   471  *
   472  * Emits the "child-removed" signal.
   472  * Emits the "child-removed" signal.
   473  */
   473  */
   474 #ifdef __SYMBIAN32__
   474 #ifdef __SYMBIAN32__
   475 EXPORT_C
   475 EXPORT_C
   495 	 * @child_proxy: the #GstChildProxy
   495 	 * @child_proxy: the #GstChildProxy
   496 	 * @object: the #GObject that was added
   496 	 * @object: the #GObject that was added
   497 	 *
   497 	 *
   498 	 * Will be emitted after the @object was added to the @child_proxy.
   498 	 * Will be emitted after the @object was added to the @child_proxy.
   499 	 */
   499 	 */
   500     /* FIXME 0.11: use GST_TYPE_OBJECT as GstChildProxy only
       
   501      * supports GstObjects */
       
   502     signals[CHILD_ADDED] =
   500     signals[CHILD_ADDED] =
   503         g_signal_new ("child-added", G_TYPE_FROM_CLASS (g_class),
   501         g_signal_new ("child-added", G_TYPE_FROM_CLASS (g_class),
   504         G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GstChildProxyInterface,
   502         G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GstChildProxyInterface,
   505             child_added), NULL, NULL, gst_marshal_VOID__OBJECT, G_TYPE_NONE, 1,
   503             child_added), NULL, NULL, gst_marshal_VOID__OBJECT, G_TYPE_NONE, 1,
   506         G_TYPE_OBJECT);
   504         G_TYPE_OBJECT);
   510 	 * @child_proxy: the #GstChildProxy
   508 	 * @child_proxy: the #GstChildProxy
   511 	 * @object: the #GObject that was removed
   509 	 * @object: the #GObject that was removed
   512 	 *
   510 	 *
   513 	 * Will be emitted after the @object was removed from the @child_proxy.
   511 	 * Will be emitted after the @object was removed from the @child_proxy.
   514 	 */
   512 	 */
   515     /* FIXME 0.11: use GST_TYPE_OBJECT as GstChildProxy only
       
   516      * supports GstObjects */
       
   517     signals[CHILD_REMOVED] =
   513     signals[CHILD_REMOVED] =
   518         g_signal_new ("child-removed", G_TYPE_FROM_CLASS (g_class),
   514         g_signal_new ("child-removed", G_TYPE_FROM_CLASS (g_class),
   519         G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GstChildProxyInterface,
   515         G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GstChildProxyInterface,
   520             child_removed), NULL, NULL, gst_marshal_VOID__OBJECT, G_TYPE_NONE,
   516             child_removed), NULL, NULL, gst_marshal_VOID__OBJECT, G_TYPE_NONE,
   521         1, G_TYPE_OBJECT);
   517         1, G_TYPE_OBJECT);
   529 
   525 
   530 
   526 
   531 GType
   527 GType
   532 gst_child_proxy_get_type (void)
   528 gst_child_proxy_get_type (void)
   533 {
   529 {
   534   static volatile gsize type = 0;
   530   static GType type = 0;
   535 
   531 
   536   if (g_once_init_enter (&type)) {
   532   if (G_UNLIKELY (type == 0)) {
   537     GType _type;
       
   538     static const GTypeInfo info = {
   533     static const GTypeInfo info = {
   539       sizeof (GstChildProxyInterface),
   534       sizeof (GstChildProxyInterface),
   540       gst_child_proxy_base_init,        /* base_init */
   535       gst_child_proxy_base_init,        /* base_init */
   541       NULL,                     /* base_finalize */
   536       NULL,                     /* base_finalize */
   542       NULL,                     /* class_init */
   537       NULL,                     /* class_init */
   544       NULL,                     /* class_data */
   539       NULL,                     /* class_data */
   545       0,
   540       0,
   546       0,                        /* n_preallocs */
   541       0,                        /* n_preallocs */
   547       NULL                      /* instance_init */
   542       NULL                      /* instance_init */
   548     };
   543     };
   549 
   544     type = g_type_register_static (G_TYPE_INTERFACE, "GstChildProxy", &info, 0);
   550     _type =
   545 
   551         g_type_register_static (G_TYPE_INTERFACE, "GstChildProxy", &info, 0);
   546     g_type_interface_add_prerequisite (type, GST_TYPE_OBJECT);
   552 
       
   553     g_type_interface_add_prerequisite (_type, GST_TYPE_OBJECT);
       
   554     g_once_init_leave (&type, (gsize) _type);
       
   555   }
   547   }
   556   return type;
   548   return type;
   557 }
   549 }