All pastes #938499 Raw Edit

Unnamed

public text v1 · immutable
·published 2008-03-11 18:07 UTC
rendered paste body

in

out

in-out

null-ok (for parameters and return values) and optional (for parameters)


caller-owns: A function returns a GObject and has added a reference to it

	GObject *i = my_type_get_the_i (mytype);
	g_object_unref (i);


	GObject * my_type_get_the_i (MyType *self)
	{
		return g_object_ref (the_cached_i);
	}

	GObject * my_type_get_the_i (MyType *self)
	{
		return my_i_new ();
	}
	

callee-owns: A function requires a GObject as parameter and will claim ownership

	void my_type_set_the_i (MyType *self, GObject *i)
	{
		if (the_cached_i)
			g_object_unref (i);
		the_cached_i = i;
	}

	not this! 

	void my_type_set_the_i (MyType *self, GObject *i)
	{
		if (the_cached_i)
			g_object_unref (i);
		the_cached_i = g_object_ref (i);
	}