8 #define DIE(format, ...) do { \
9 fprintf(stderr, "Died at %s:%d: ", __FILE__, __LINE__ ); \
10 fprintf(stderr, format "\n", ## __VA_ARGS__); \
17 static HgwContext *hgw;
21 // hildon-games-wrapper sets this env variable for itself.
22 char* service = getenv("HGW_EXEC_SERVICE");
25 // Not launched from hildon-games-wrapper
30 hgw = hgw_context_init();
33 fprintf(stderr, "Error opening hgw context\n");
38 HgwStartCommand cmd = hgw_context_get_start_command(hgw);
39 // TODO Handle cmd in some way other than assuming HGW_COMM_RESTART
41 printf("Loading in HGW mode\n");
46 if (!hgwLaunched) return;
48 hgw_context_destroy(hgw, HGW_BYE_INACTIVE); // TODO
54 if (!hgwLaunched) return;
56 Config.fullscreen = true;
58 char romFile[PATH_MAX];
59 if (hgw_conf_request_string(hgw, kGConfRomFile, romFile) == HGW_ERR_NONE) {
60 S9xSetRomFile(romFile);
62 DIE("No Rom in Gconf!");
68 if (!hgwLaunched) return;
71 HgwMessageFlags flags = HGW_MSG_FLAG_NONE;
73 if ( hgw_msg_check_incoming(hgw, &msg, flags) == HGW_ERR_COMMUNICATION ) {
74 // Message Incoming, process msg
77 case HGW_MSG_TYPE_CBREQ:
81 Config.quitting = true;
87 hgw_msg_free_data(&msg);