Documentation updates
[platform/upstream/gstreamer.git] / docs / gst / tmpl / gstobject.sgml
1 <!-- ##### SECTION Title ##### -->
2 GstObject
3
4 <!-- ##### SECTION Short_Description ##### -->
5 Basis for the GST object hierarchy.
6
7 <!-- ##### SECTION Long_Description ##### -->
8 <para>
9 GstObject provides a root for the object hierarchy tree filed in by the
10 GST library.  It is currently a thin wrapper on top of
11 <classname>GObject</classname>. It is an abstract class that is not
12 very usable on its own.
13 </para>
14
15 <para>
16 GstObject gives us basic refcounting, parenting functionality and locking. 
17 </para>
18 <para>
19 gst_object_set_name() and gst_object_get_name() are used to set/get the name of the 
20 object.
21 </para>
22
23 <!-- ##### SECTION See_Also ##### -->
24 <para>
25
26 </para>
27
28 <!-- ##### ENUM GstObjectFlags ##### -->
29 <para>
30 Flags for an object
31 </para>
32
33 @GST_DESTROYED: The object is flagged for destruction
34 @GST_FLOATING: The object is created but has no parent yet to manage it
35 @GST_OBJECT_FLAG_LAST: subclasses can add additional flags starting from this flag
36
37 <!-- ##### STRUCT GstObject ##### -->
38 <para>
39 The GstObject
40 </para>
41
42
43 <!-- ##### MACRO GST_FLAGS ##### -->
44 <para>
45 This macro returns the entire set of flags for the object.
46 </para>
47
48 @obj: Object to return flags for.
49
50
51 <!-- ##### MACRO GST_FLAG_IS_SET ##### -->
52 <para>
53 This macro checks to see if the given flag is set.
54 </para>
55
56 @obj: GstSrc to check for flag in.
57 @flag: Flag to check for, must be a single bit in guint32.
58
59
60 <!-- ##### MACRO GST_FLAG_SET ##### -->
61 <para>
62 This macro sets the given bits.
63 </para>
64
65 @obj: Object to set flag in.
66 @flag: Flag to set, can by any number of bits in guint32.
67
68
69 <!-- ##### MACRO GST_FLAG_UNSET ##### -->
70 <para>
71 This macro usets the given bits.
72 </para>
73
74 @obj: Object to unset flag in.
75 @flag: Flag to set, must be a single bit in guint32.
76
77
78 <!-- ##### MACRO GST_LOCK ##### -->
79 <para>
80 This macro will obtain a lock on the object, making serialization
81 possible.
82 </para>
83
84 @obj: Object to lock.
85
86
87 <!-- ##### MACRO GST_TRYLOCK ##### -->
88 <para>
89 This macro will try to obtain a lock on the object, but will return with
90 FALSE if it can't get it immediately.
91 </para>
92
93 @obj: Object to try to get a lock on.
94
95
96 <!-- ##### MACRO GST_UNLOCK ##### -->
97 <para>
98 This macro releases a lock on the object.
99 </para>
100
101 @obj: Object to unlock.
102
103
104 <!-- ##### MACRO GST_GET_LOCK ##### -->
105 <para>
106 Acquire a reference to the mutex of this object.
107 </para>
108
109 @obj: Object to get the mutex of.
110
111
112 <!-- ##### MACRO GST_OBJECT_PARENT ##### -->
113 <para>
114 Get the parent of this object
115 </para>
116
117 @obj: Object to get the parent of.
118
119
120 <!-- ##### MACRO GST_OBJECT_NAME ##### -->
121 <para>
122 Get the name of this object
123 </para>
124
125 @obj: Object to get the name of.
126
127
128 <!-- ##### MACRO GST_OBJECT_FLOATING ##### -->
129 <para>
130 Check if the object is floating.
131 </para>
132
133 @obj: The Object to check
134
135
136 <!-- ##### MACRO GST_OBJECT_DESTROYED ##### -->
137 <para>
138 Check if the object has been destroyed.
139 </para>
140
141 @obj: The Object to check
142
143
144 <!-- ##### FUNCTION gst_object_check_uniqueness ##### -->
145 <para>
146
147 </para>
148
149 @list: 
150 @name: 
151 @Returns: 
152
153
154 <!-- ##### FUNCTION gst_object_set_parent ##### -->
155 <para>
156
157 </para>
158
159 @object: 
160 @parent: 
161
162
163 <!-- ##### FUNCTION gst_object_get_parent ##### -->
164 <para>
165
166 </para>
167
168 @object: 
169 @Returns: 
170
171
172 <!-- ##### FUNCTION gst_object_set_name ##### -->
173 <para>
174
175 </para>
176
177 @object: 
178 @name: 
179
180
181 <!-- ##### FUNCTION gst_object_get_name ##### -->
182 <para>
183
184 </para>
185
186 @object: 
187 @Returns: 
188
189
190 <!-- ##### FUNCTION gst_object_unparent ##### -->
191 <para>
192
193 </para>
194
195 @object: 
196
197
198 <!-- ##### FUNCTION gst_object_ref ##### -->
199 <para>
200
201 </para>
202
203 @object: the object
204 @Returns: 
205
206
207 <!-- ##### FUNCTION gst_object_unref ##### -->
208 <para>
209
210 </para>
211
212 @object: the object
213
214
215 <!-- ##### FUNCTION gst_object_replace ##### -->
216 <para>
217
218 </para>
219
220 @oldobj: 
221 @newobj: 
222
223
224 <!-- ##### FUNCTION gst_object_sink ##### -->
225 <para>
226
227 </para>
228
229 @object: the object
230
231
232 <!-- ##### FUNCTION gst_object_destroy ##### -->
233 <para>
234
235 </para>
236
237 @object: the object
238
239
240 <!-- ##### FUNCTION gst_object_save_thyself ##### -->
241 <para>
242
243 </para>
244
245 @object: 
246 @parent: 
247 @Returns: 
248
249
250 <!-- ##### FUNCTION gst_object_restore_thyself ##### -->
251 <para>
252
253 </para>
254
255 @object: 
256 @self: 
257
258
259 <!-- ##### FUNCTION gst_object_get_path_string ##### -->
260 <para>
261
262 </para>
263
264 @object: 
265 @Returns: 
266
267
268 <!-- ##### FUNCTION gst_object_default_deep_notify ##### -->
269 <para>
270
271 </para>
272
273 @object: 
274 @orig: 
275 @pspec: 
276 @excluded_props: 
277
278
279 <!-- ##### FUNCTION gst_class_signal_emit_by_name ##### -->
280 <para>
281
282 </para>
283
284 @object: 
285 @name: 
286 @self: 
287
288
289 <!-- ##### FUNCTION gst_class_signal_connect ##### -->
290 <para>
291
292 </para>
293
294 @klass: 
295 @name: 
296 @func: 
297 @func_data: 
298 @Returns: 
299
300
301 <!-- ##### SIGNAL GstObject::deep-notify ##### -->
302 <para>
303 The deep notify signal is used to be notified of property changes.
304 it is typically attached to the toplevel bin to receive notifications
305 from all the elements contained in that bin.
306 </para>
307
308 @gstobject: the object which received the signal.
309 @arg1: the object that originated the signal
310 @arg2: the property that changed
311
312 <!-- ##### SIGNAL GstObject::object-saved ##### -->
313 <para>
314 Is trigered whenever a new object is saved to XML. You can connect to
315 this signal to insert custom XML tags into the core XML.
316 </para>
317
318 @gstobject: the object which received the signal.
319 @arg1: the xmlNodePtr of the parent node
320
321 <!-- ##### SIGNAL GstObject::parent-set ##### -->
322 <para>
323 Is emitted when the parent of an object is set.
324 </para>
325
326 @gstobject: the object which received the signal.
327 @arg1: the new parent
328
329 <!-- ##### SIGNAL GstObject::parent-unset ##### -->
330 <para>
331 Is emitted when the parent of an object is unset.
332 </para>
333
334 @gstobject: the object which received the signal.
335 @arg1: the old parent
336
337 <!-- ##### ARG GstObject:name ##### -->
338 <para>
339 The name of the object
340 </para>
341