示例#1
0
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;
}