Пример #1
0
cherry_kit::ui_action desktop_task_controller_impl::task() {
  cherry_kit::ui_action task;
  task.set_name("Record");
  task.set_visible(1);
  task.set_controller(controller_name().toStdString());
  task.set_icon("panel/ck_add.png");

  cherry_kit::ui_action note_action;
  note_action.set_name("Note");
  note_action.set_visible(1);
  note_action.set_id(1);
  note_action.set_icon("panel/ck_add.png");
  note_action.set_controller(controller_name().toStdString());
  note_action.set_task([this](const cherry_kit::ui_action *a_action_ref,
                              const cherry_kit::ui_task_data_t &a_data) {
    QPointF window_location;

    if (viewport()) {
      window_location = viewport()->center(QRectF(0, 0, 240, 240 + 48));
    }

    QVariantMap session_args;
    session_args["x"] = window_location.x();
    session_args["y"] = window_location.y();
    session_args["notes_id"] = session_count();
    session_args["database_name"] =
        QString::fromStdString(session_store_name("Notes"));

    start_session("Notes", session_args, false,
                  [this](cherry_kit::desktop_controller_interface *a_controller,
                         cherry_kit::session_sync *a_session) {
      createNoteUI(a_session);
    });
  });

  cherry_kit::ui_action task_action;
  task_action.set_name("Task");
  task_action.set_visible(1);
  task_action.set_id(2);
  task_action.set_icon("panel/ck_add.png");
  task_action.set_controller(controller_name().toStdString());
  task_action.set_task([this](const cherry_kit::ui_action *a_action_ref,
                              const cherry_kit::ui_task_data_t &a_data) {
    QPointF window_location;

    if (viewport()) {
      window_location = viewport()->center(QRectF(0, 0, 240, 240 + 48));
    }

    QVariantMap session_args;
    session_args["x"] = window_location.x();
    session_args["y"] = window_location.y();
    session_args["reminders_id"] = session_count();
    session_args["database_name"] =
        QString::fromStdString(session_store_name("reminders"));

    start_session("Reminders", session_args, false,
                  [this](cherry_kit::desktop_controller_interface *a_controller,
                         cherry_kit::session_sync *a_session) {
      createReminderUI(a_session);
    });
  });

  task.add_action(note_action);
  task.add_action(task_action);

  return task;
}
Пример #2
0
cherry_kit::ui_action time_controller::task() {
  cherry_kit::ui_action task;
  task.set_name("Track");
  task.set_visible(1);
  task.set_controller(controller_name().toStdString());
  task.set_icon("actions/ck_alarm.png");

  cherry_kit::ui_action time_task;
  time_task.set_name("Time");
  time_task.set_id(0);
  time_task.set_visible(1);
  time_task.set_controller(controller_name().toStdString());
  time_task.set_icon("panel/ck_add.png");

  time_task.set_task([this](const cherry_kit::ui_action *a_action_ref,
                            const cherry_kit::ui_task_data_t &a_data) {
    //
    QPointF window_location;
    if (viewport()) {
      window_location = viewport()->center(QRectF(0, 0, 240, 240 + 48));
    }

    QVariantMap session_args;

    session_args["x"] = window_location.x();
    session_args["y"] = window_location.y();
    session_args["clock_id"] = session_count();
    session_args["database_name"] =
        QString::fromStdString(session_store_name("clock"));

    start_session("Clock", session_args, false,
                  [this](cherry_kit::desktop_controller_interface *a_controller,
                         cherry_kit::session_sync *a_session) {
      priv->setup_create_clock_ui((time_controller *)a_controller, a_session);
    });
  });

  cherry_kit::ui_action timer_task;
  timer_task.set_name("Duration");
  timer_task.set_id(1);
  timer_task.set_visible(1);
  timer_task.set_controller(controller_name().toStdString());
  timer_task.set_icon("panel/ck_add.png");

  timer_task.set_task([this](const cherry_kit::ui_action *a_action_ref,
                             const cherry_kit::ui_task_data_t &a_data) {
    //
    QPointF window_location;
    if (viewport()) {
      window_location = viewport()->center(QRectF(0, 0, 240, 240 + 48));
    }

    QVariantMap session_args;

    session_args["x"] = window_location.x();
    session_args["y"] = window_location.y();
    session_args["timer_id"] = session_count();
    session_args["database_name"] =
        QString::fromStdString(session_store_name("timer"));

    start_session("Timer", session_args, false,
                  [this](cherry_kit::desktop_controller_interface *a_controller,
                         cherry_kit::session_sync *a_session) {
      priv->setup_create_timer_ui((time_controller *)a_controller, a_session);
    });
  });

  task.add_action(time_task);
  task.add_action(timer_task);
  return task;
}
Пример #3
0
/*
 * The main function.
 */
static int main_wrapped(int argc, char **argv)
{
	struct arguments args;
	int error;

	error = parse_args(argc, argv, &args);
	if (error)
		return error;

	switch (args.mode) {
	case MODE_POOL6:
		switch (args.op) {
		case OP_DISPLAY:
			return pool6_display();
		case OP_COUNT:
			return pool6_count();
		case OP_ADD:
			if (!args.db.pool6.prefix_set) {
				log_err("Please enter the prefix to be added (--prefix).");
				return -EINVAL;
			}
			return pool6_add(&args.db.pool6.prefix);
		case OP_REMOVE:
			if (!args.db.pool6.prefix_set) {
				log_err("Please enter the prefix to be removed (--prefix).");
				return -EINVAL;
			}
			return pool6_remove(&args.db.pool6.prefix, args.db.quick);
		case OP_FLUSH:
			return pool6_flush(args.db.quick);
		default:
			log_err("Unknown operation for IPv6 pool mode: %u.", args.op);
			return -EINVAL;
		}
		break;

	case MODE_POOL4:
		switch (args.op) {
		case OP_DISPLAY:
			return pool4_display();
		case OP_COUNT:
			return pool4_count();
		case OP_ADD:
			if (!args.db.pool4.addr_set) {
				log_err("Please enter the address to be added (--address).");
				return -EINVAL;
			}
			return pool4_add(&args.db.pool4.addr);
		case OP_REMOVE:
			if (!args.db.pool4.addr_set) {
				log_err("Please enter the address to be removed (--address).");
				return -EINVAL;
			}
			return pool4_remove(&args.db.pool4.addr, args.db.quick);
		case OP_FLUSH:
			return pool4_flush(args.db.quick);
		default:
			log_err("Unknown operation for IPv4 pool mode: %u.", args.op);
			return -EINVAL;
		}
		break;

	case MODE_BIB:
		switch (args.op) {
		case OP_DISPLAY:
			return bib_display(args.db.tables.tcp, args.db.tables.udp, args.db.tables.icmp,
					args.db.tables.numeric_hostname, args.db.tables.csv_format);
		case OP_COUNT:
			return bib_count(args.db.tables.tcp, args.db.tables.udp, args.db.tables.icmp);

		case OP_ADD:
			error = 0;
			if (!args.db.tables.bib.addr6_set) {
				log_err("Missing IPv6 address#port (--bib6).");
				error = -EINVAL;
			}
			if (!args.db.tables.bib.addr4_set) {
				log_err("Missing IPv4 address#port (--bib4).");
				error = -EINVAL;
			}
			if (error)
				return error;

			return bib_add(args.db.tables.tcp, args.db.tables.udp, args.db.tables.icmp,
					&args.db.tables.bib.addr6, &args.db.tables.bib.addr4);

		case OP_REMOVE:
			if (!args.db.tables.bib.addr6_set && !args.db.tables.bib.addr4_set) {
				log_err("I need the IPv4 transport address and/or the IPv6 transport address of "
						"the entry you want to remove.");
				return -EINVAL;
			}
			return bib_remove(args.db.tables.tcp, args.db.tables.udp, args.db.tables.icmp,
					args.db.tables.bib.addr6_set, &args.db.tables.bib.addr6,
					args.db.tables.bib.addr4_set, &args.db.tables.bib.addr4);

		default:
			log_err("Unknown operation for session mode: %u.", args.op);
			return -EINVAL;
		}
		break;

	case MODE_SESSION:
		switch (args.op) {
		case OP_DISPLAY:
			return session_display(args.db.tables.tcp, args.db.tables.udp, args.db.tables.icmp,
					args.db.tables.numeric_hostname, args.db.tables.csv_format);
		case OP_COUNT:
			return session_count(args.db.tables.tcp, args.db.tables.udp, args.db.tables.icmp);
		default:
			log_err("Unknown operation for session mode: %u.", args.op);
			return -EINVAL;
		}
		break;
#ifdef BENCHMARK
	case MODE_LOGTIME:
		switch (args.op) {
		case OP_DISPLAY:
			return logtime_display();
			break;
		default:
			log_err("Unknown operation for log time mode: %u.", args.op);
			break;
		}
		break;
#endif

	case MODE_GENERAL:
		switch (args.op) {
		case OP_DISPLAY:
			return general_display();
		case OP_UPDATE:
			error = general_update(args.general.module, args.general.type, args.general.size,
					args.general.data);
			free(args.general.data);
			return error;
		default:
			log_err("Unknown operation for general mode: %u.", args.op);
			return -EINVAL;
		}
	}

	log_err("Unknown configuration mode: %u", args.mode);
	return -EINVAL;
}