generate_client_error_cases (error_block, error_types, new CCodeMemberAccess (new CCodeIdentifier ("_dbus_error"), "name"), new CCodeIdentifier ("_edomain"), new CCodeIdentifier ("_ecode"));
- var g_set_error = new CCodeFunctionCall (new CCodeIdentifier ("g_set_error_literal"));
+ var g_set_error = new CCodeFunctionCall (new CCodeIdentifier ("g_set_error"));
g_set_error.add_argument (new CCodeIdentifier ("error"));
g_set_error.add_argument (new CCodeIdentifier ("_edomain"));
g_set_error.add_argument (new CCodeIdentifier ("_ecode"));
+ g_set_error.add_argument (new CCodeConstant ("\"%s\""));
g_set_error.add_argument (new CCodeMemberAccess (new CCodeIdentifier ("_dbus_error"), "message"));
error_block.add_statement (new CCodeExpressionStatement (g_set_error));
// throw error and return if proxy is disposed
var dispose_return_block = new CCodeBlock ();
if (m.get_error_types ().size > 0) {
- var set_error_call = new CCodeFunctionCall (new CCodeIdentifier ("g_set_error_literal"));
+ var set_error_call = new CCodeFunctionCall (new CCodeIdentifier ("g_set_error"));
set_error_call.add_argument (new CCodeIdentifier ("error"));
set_error_call.add_argument (new CCodeIdentifier ("DBUS_GERROR"));
set_error_call.add_argument (new CCodeIdentifier ("DBUS_GERROR_DISCONNECTED"));
+ set_error_call.add_argument (new CCodeConstant ("\"%s\""));
set_error_call.add_argument (new CCodeConstant ("\"Connection is closed\""));
dispose_return_block.add_statement (new CCodeExpressionStatement (set_error_call));
}
var error_block = new CCodeBlock ();
error_block.suppress_newline = true;
- var set_error_call = new CCodeFunctionCall (new CCodeIdentifier ("g_set_error_literal"));
+ var set_error_call = new CCodeFunctionCall (new CCodeIdentifier ("g_set_error"));
set_error_call.add_argument (new CCodeIdentifier ("error"));
set_error_call.add_argument (new CCodeIdentifier ("DBUS_GERROR"));
set_error_call.add_argument (new CCodeIdentifier ("DBUS_GERROR_INVALID_ARGS"));
+ set_error_call.add_argument (new CCodeConstant ("\"%s\""));
set_error_call.add_argument (new CCodeConstant ("\"Invalid enumeration value\""));
error_block.add_statement (new CCodeExpressionStatement (set_error_call));
create_result.add_argument (gobject_cast);
} else {
- create_result.add_argument (new CCodeConstant ("NULL"));
+ if (context.require_glib_version (2, 20)) {
+ create_result.add_argument (new CCodeConstant ("NULL"));
+ } else {
+ var object_creation = new CCodeFunctionCall (new CCodeIdentifier ("g_object_newv"));
+ object_creation.add_argument (new CCodeConstant ("G_TYPE_OBJECT"));
+ object_creation.add_argument (new CCodeConstant ("0"));
+ object_creation.add_argument (new CCodeConstant ("NULL"));
+
+ create_result.add_argument (object_creation);
+ }
}
create_result.add_argument (new CCodeIdentifier ("_callback_"));