int main(){ canusb_devices::lawicel_canusb adapter; can::bus bus; logging_services::logger log; log.set_prefix("Frame scan", 10); log.set_file_output("find_frames_results.txt"); log.enable_timestamping(); log.enable_prefix(); log.enable_data_destination(logging_services::Data_Destination_Type::Terminal); log.enable_data_destination(logging_services::Data_Destination_Type::File); log.disable_data_destination(logging_services::Data_Destination_Type::Network); if(adapter.auto_setup()){ log.log("Successfully set up adapter."); if(setup_bus(&bus)){ log.log("Successfully set up bus."); while(do_stuff(&bus, &log)){ }/*while*/ }/*if*/ else{ log.log("Failed to set up bus."); }/*else*/ }/*if*/ else{ log.log("Failed to setup adapter."); }/*else*/ }/*main*/
DBusConnection *setup_dbus_bus(DBusBusType type, const char *name, DBusError *error) { DBusConnection *conn; LOG("setup_dbus_bus"); conn = dbus_bus_get(type, error); if (error != NULL) { if (dbus_error_is_set(error) == TRUE) return NULL; } if (conn == NULL) return NULL; if (setup_bus(conn, name, error) == FALSE) { dbus_connection_unref(conn); return NULL; } return conn; }