Ejemplo n.º 1
0
int add_to_list_of_loaded_modules(Var* v)
{
	if (loaded_modules == NULL) {
		loaded_modules = Narray_create(10);
	}

	if (Narray_add(loaded_modules, v->name, v) == -1) {

		/* this element may already exist */

		if (Narray_find(loaded_modules, v->name, NULL) != -1) {
			parse_error("Module %s is already loaded. Unload+Reload to refresh.", v->name);
			return 0;
		} else {
			parse_error("Probably a mem allocation error while loading module %s.", v->name);
			return 0;
		}
	}

	if (debug > DEBUG_THRESHOLD) {
		parse_error("Added module %s to the list of loaded modules.", v->name);
	}

	return 1; /* success */
}
Ejemplo n.º 2
0
Narray* gui_getFramePublicResources()
{

	return Narray_create(0);

#if 0
  Narray	*resList;
  int		i, num;

  num = sizeof(framePublicResources) / sizeof(framePublicResources[0]);
  resList = Narray_create(num);
  for (i = 0; i < num; i++) {
    Narray_add(resList, (char *) framePublicResources[i], NULL);
  }

  return resList;
#endif
}
Ejemplo n.º 3
0
Narray* gui_getFileSelectionBoxPublicResources()
{

	Narray* resList;
	int i, num;

	num     = sizeof(fileSelectionBoxPublicResources) / sizeof(fileSelectionBoxPublicResources[0]);
	resList = Narray_create(num);
	for (i = 0; i < num; i++) {
		Narray_add(resList, (char*)fileSelectionBoxPublicResources[i], NULL);
	}

	return resList;
}
Ejemplo n.º 4
0
Var* new_module(char* module_name)
{
	Var* v;

	if (module_name == NULL) {
		if (debug > DEBUG_THRESHOLD) {
			parse_error("Cannot create a module with (null) name.");
		}
		return NULL;
	}

	if (search_in_list_of_loaded_modules(module_name) != NULL) {
		/* If module already loaded, don't load it again */
		parse_error("Module %s already loaded.", module_name);
		return NULL;
	}

	v = newVar();
	memset(&V_MODULE(v), 0, sizeof(dvModule));

	/* make scope not clean this variable */
	mem_claim(v);

	V_TYPE(v) = ID_MODULE;

	V_NAME(v) = strdup(module_name);
	if (V_NAME(v) == NULL) {
		parse_error("Mem allocation error in new_module().");
		free_var(v);
		return NULL;
	}

	V_MODULE(v).functions = Narray_create(10);
	V_MODULE(v).name      = V_NAME(v);

	/* keep track of available modules */
	if (!add_to_list_of_loaded_modules(v)) {

		/* Addition into the list of loaded modules failed. Abort. */

		free_var(v);
		return NULL;
	}
	V_MODULE(v).stage = MOD_LST_ADDED;

	return v;
}