예제 #1
0
/**
 * @name	core_reset
 * @brief	destroys core as well as resets preset variables
 * @retval	NONE
 */
void core_reset() {
	core_destroy();
	do_sizing = true;
	show_preload = true;
	preload_hide_frame_count = 0;
}
예제 #2
0
파일: main.c 프로젝트: mighq/camqp-gateway
int main(gint argc, gchar* argv[]) {
	GError* err = NULL;

	// initialize
	core_log("core", LOG_NOTICE, 1111, "initializing core");
	core_init();

	// determine essential things
	core_log("core", LOG_INFO, 1111, "checking environment");
	if (!core_options_environment(&err)) {
		core_log("core", LOG_ERR, 1111, err->message);
		g_error_free(err);
		core_destroy();
		return 2;
	}

	// treat cmd-line options
	core_log("core", LOG_INFO, 1111, "parsing command line");
	if (!core_options_treat(argc, argv, &err)) {
		core_log("core", LOG_ERR, 1111, err->message);
		g_error_free(err);

		core_destroy();

		return 3;
	}

	// init config provider
	core_log("core", LOG_INFO, 1111, "initializing configuration");
	if (!core_config_provider_init()) {
		core_log("core", LOG_CRIT, 1111, "cannot initialize config provider");

		core_destroy();

		return 4;
	}

	// do config preloading
	core_log("core", LOG_INFO, 1111, "loading configuration");
	core_config_preload();

	// init logger provider
	core_log("core", LOG_INFO, 1111, "initializing log provider");
	if (!core_log_provider_init()) {
		core_log("core", LOG_ERR, 1111, "cannot initialize log provider");

		core_config_provider_destroy();
		core_destroy();
		return 1111;
	}

	core_log("core", LOG_INFO, 1111, "logging system initialized");

	// init queue provider
	core_log("core", LOG_INFO, 1111, "initializing queue provider");
	if (!core_queue_provider_init(&err)) {
		core_log("core", LOG_CRIT, 1111, "cannot initialize queue provider");

		g_error_free(err);
		core_log_provider_destroy();
		core_config_provider_destroy();
		core_destroy();

		return 5;
	}

	// load message handling modules
	core_log("core", LOG_INFO, 1111, "initializing msg input module");
	if (!core_messaging_module_init(MODULE_TYPE_MESSAGE_INPUT, &err)) {
		core_log("core", LOG_ERR, 1111, err->message);

		g_error_free(err);
		core_queue_provider_destroy();
		core_log_provider_destroy();
		core_config_provider_destroy();
		core_destroy();

		return 6;
	}

	core_log("core", LOG_INFO, 1111, "initializing msg output module");
	if (!core_messaging_module_init(MODULE_TYPE_MESSAGE_OUTPUT, &err)) {
		core_log("core", LOG_ERR, 1111, err->message);

		g_error_free(err);
		core_queue_provider_destroy();
		core_log_provider_destroy();
		core_config_provider_destroy();
		core_destroy();

		return 7;
	}

	core_log("core", LOG_INFO, 1111, "initializing msg trash module");
	if (!core_messaging_module_init(MODULE_TYPE_MESSAGE_TRASH, &err)) {
		core_log("core", LOG_ERR, 1111, err->message);

		g_error_free(err);
		core_queue_provider_destroy();
		core_log_provider_destroy();
		core_config_provider_destroy();
		core_destroy();

		return 8;
	}

	// init messaging framework
	core_log("core", LOG_INFO, 1111, "initializing messaging");
	core_messaging_init();

	// start messaging framework
	core_log("core", LOG_NOTICE, 1111, "starting messaging");
	core_messaging_start();

	// destroy messaging framework
	core_log("core", LOG_INFO, 1111, "destroying messaging");
	core_messaging_destroy();

	// destroy queue provider
	core_log("core", LOG_INFO, 1111, "destroying queue provider");
	core_queue_provider_destroy();

	// destroy log provider
	core_log("core", LOG_INFO, 1111, "destroying logging provider");
	core_log_provider_destroy();

	// destroy config
	core_log("core", LOG_INFO, 1111, "destroying config provider");

	core_config_provider_destroy();

	// do cleanup (options & modules)
	core_log("core", LOG_INFO, 1111, "destroying core");
	core_destroy();

	return 0;
}