예제 #1
0
static MenuMonitor* lookup_monitor(const char* path, gboolean is_directory)
{
  MenuMonitor *retval;
  char        *registry_key;

  retval = NULL;

  registry_key = get_registry_key (path, is_directory);

  if (monitors_registry == NULL)
    {
      monitors_registry = g_hash_table_new_full (g_str_hash,
						 g_str_equal,
						 g_free,
						 NULL);
    }
  else
    {
      retval = g_hash_table_lookup (monitors_registry, registry_key);
    }

  if (retval == NULL)
    {
      retval = register_monitor (path, is_directory);
      g_hash_table_insert (monitors_registry, registry_key, retval);

      return retval;
    }
  else
    {
      g_free (registry_key);

      return mate_menu_monitor_ref(retval);
    }
}
static int
mpu_dev_open(struct inode *inode, struct file *filp)
{
    int ret;

	ret = register_monitor(&mtk_mon, MODE_MANUAL_USER);
	
    if(ret != 0) {
    	printk("MTK Monitor Register Fail\n");
    	return -1;
    }
	
	mtk_mon->init();
	
    return 0;
}
예제 #3
0
static void mt65xx_mon_trace_start(struct trace_array *tr)
{
    ktime_t kt;

    int ret;
    ret = register_monitor(&mtk_mon, monitor_mode);

    if (ret != 0) {
        pr_info("MTK Monitor Register Fail\n");
        return;
    }
    pr_info("MTK Monitor Register OK\n");
    mtk_mon->init();

    mt65xx_mon_stopped = 0;
    if ((monitor_mode == MODE_PERIODIC) && (timer_initialized > 0)) {
        kt = ktime_set(0, mon_period_ns);
        hrtimer_restart(&timer);
    }
    mtk_mon->enable();
}
예제 #4
0
int monitor_register_txpower(struct btd_device *device,
						struct enabled *enabled,
						struct gatt_primary *txpower)
{
	struct monitor *monitor;

	if (!enabled->pathloss)
		return 0;

	monitor = register_monitor(device);
	if (monitor == NULL)
		return -1;

	monitor->txpower = g_new0(struct att_range, 1);
	monitor->txpower->start = txpower->range.start;
	monitor->txpower->end = txpower->range.end;

	update_monitor(monitor);

	return 0;
}
예제 #5
0
int monitor_register_immediate(struct btd_device *device,
						struct enabled *enabled,
						struct gatt_primary *immediate)
{
	struct monitor *monitor;

	if (!enabled->pathloss && !enabled->findme)
		return 0;

	monitor = register_monitor(device);
	if (monitor == NULL)
		return -1;

	monitor->immediate = g_new0(struct att_range, 1);
	monitor->immediate->start = immediate->range.start;
	monitor->immediate->end = immediate->range.end;
	monitor->enabled.findme = enabled->findme;

	update_monitor(monitor);

	return 0;
}
예제 #6
0
int monitor_register_linkloss(struct btd_device *device,
						struct enabled *enabled,
						struct gatt_primary *linkloss)
{
	struct monitor *monitor;

	if (!enabled->linkloss)
		return 0;

	monitor = register_monitor(device);
	if (monitor == NULL)
		return -1;

	monitor->linkloss = g_new0(struct att_range, 1);
	monitor->linkloss->start = linkloss->range.start;
	monitor->linkloss->end = linkloss->range.end;
	monitor->enabled.linkloss = TRUE;

	update_monitor(monitor);

	return 0;
}