UpdateDialog* UpdateDialogGtkFactory::createDialog()
{
	const char* libPath = "/tmp/libupdatergtk.so";

	if (!extractFileFromBinary(libPath,libupdatergtk_so,libupdatergtk_so_len))
	{
		LOG(Warn,"Failed to load the GTK UI library - " + std::string(strerror(errno)));
		return 0;
	}

	void* gtkLib = dlopen(libPath,RTLD_LAZY);
	if (!gtkLib)
	{
		LOG(Warn,"Failed to load the GTK UI - " + std::string(dlerror()));
		return 0;
	}

	BIND_FUNCTION(gtkLib,update_dialog_gtk_new);
	return reinterpret_cast<UpdateDialog*>(update_dialog_gtk_new());
}
Example #2
0
  BIND_BLOCK(F2, DESCCHAR),
  BIND_BLOCK(Left, CLIP_ADD),
  BIND_BLOCK(Up, CLIP_NEW),
  BIND_BLOCK(Center, ROUTE),
  BIND_BLOCK(Down, COPY_RECT),
  BIND_BLOCK(Right, COPY_LINE),

  .temporary = 1,
  .name = "Char-F1"
};

static const InputMode inputMode_f1_f1 = {
  BIND_COMMAND(F1, HELP),
  BIND_COMMAND(F2, LEARN),
  BIND_COMMAND(Left, INFO),
  BIND_FUNCTION(Right, showTime),
  BIND_COMMAND(Up, PREFLOAD),
  BIND_COMMAND(Down, PREFMENU),
  BIND_COMMAND(Center, PREFSAVE),

  .temporary = 1,
  .name = "F1-F1"
};

static const InputMode inputMode_f1_f2 = {
  BIND_COMMAND(F1, FREEZE),
  BIND_COMMAND(F2, DISPMD),
  BIND_COMMAND(Left, ATTRVIS),
  BIND_COMMAND(Right, CSRVIS),
  BIND_COMMAND(Up, SKPBLNKWINS),
  BIND_COMMAND(Down, SKPIDLNS),