void Menu(void)
{
	/* Initialize Wiimote */
	Wpad_Init();

	/* Draw background */
	Gui_DrawBackground();

	/* Initialize console */
	Gui_InitConsole();

	/* Configuration menu */
	Config_Menu();

	/* Destroy console */
	Con_Destroy();

	/* Disconnect Wiimote */
	Wpad_Disconnect();
}
Beispiel #2
0
/* lcgi:cfg */
int LCGIResp_Config(LCGIResp *me, UrlParts *pup)
{
   int nErr = EFAILED;
   const char *cpszUrl = (char*)MEMCHR(pup->cpcPath, '.', UP_PATHLEN(pup)) + 1;
   
   AEEResBlob *pBlob = 0;
   int nBlobLen = 0;

   if (!LCGIResp_FindOrMakeInvoke(me,pup,&cpszUrl)) {
      return SUCCESS;
   }

   // lcgi:cfg.menu
   if (STRBEGINS("menu", cpszUrl)) {
      nErr = Config_Menu(me, &pBlob, &nBlobLen);
   } else if (LCGIResp_SafeReferer(me)) {
      if (STRBEGINS("proxies.reset.sub", cpszUrl)) {
         nErr = Config_ProxyResetDone(me, &pBlob, &nBlobLen);
      }
      else if (STRBEGINS("proxies.reset", cpszUrl)) {
         nErr = Config_ProxyReset(me, &pBlob, &nBlobLen);
      }
      else if (STRBEGINS("proxies.ok", cpszUrl)) {
         char *pszURLData = 0;
         nErr = ERR_STRDUP((char*)pup->cpcSrch + 1, &pszURLData);
         if (SUCCESS == nErr) {
            nErr = Config_ProxySubmit(me,pszURLData,&pBlob,&nBlobLen);
         }
         FREEIF(pszURLData);
      }
      else if (STRBEGINS("proxies", cpszUrl)) {
         nErr = Config_Proxies(me, &pBlob, &nBlobLen);
      } 
      else if (STRBEGINS("cookies.sub", cpszUrl)) {
         char *pszURLData = 0;
         nErr = ERR_STRDUP((char*)pup->cpcSrch + 1, &pszURLData);
         if (SUCCESS == nErr) {
            nErr = Config_CookiesSubmit(me, pszURLData, &pBlob, &nBlobLen);
         }
         FREEIF(pszURLData);
      }
      else if (STRBEGINS("cookies.del.sub", cpszUrl)) {
         nErr = Config_CookiesDeleteDone(me, &pBlob, &nBlobLen);
      }
      else if (STRBEGINS("cookies.del", cpszUrl)) {
         nErr = Config_CookiesDelete(me, &pBlob, &nBlobLen);
      }
      else if (STRBEGINS("cookies.info", cpszUrl)) {
         nErr = Config_CookiesInfo(me, &pBlob, &nBlobLen);
      }
      else if (STRBEGINS("cookies", cpszUrl)) {
         nErr = Config_Cookies(me, &pBlob, &nBlobLen);
      }
      else if (STRBEGINS("mailto.reset.sub", cpszUrl)) {
         nErr = Config_MailResetDone(me, &pBlob, &nBlobLen);
      }
      else if (STRBEGINS("mailto.reset", cpszUrl)) {
         nErr = Config_MailReset(me, &pBlob, &nBlobLen);
      }
      else if (STRBEGINS("mailto.sub", cpszUrl)) {
         char *pszURLData = 0;
         nErr = ERR_STRDUP((char*)pup->cpcSrch + 1, &pszURLData);
         if (SUCCESS == nErr) {
            nErr = Config_MailSubmit(me, pszURLData, &pBlob, &nBlobLen);
         }
         FREEIF(pszURLData);
      }
      else if (STRBEGINS("mailto", cpszUrl)) {
         nErr = Config_Mail(me, &pBlob, &nBlobLen);
      }
      else if (STRBEGINS("homepage.reset.sub", cpszUrl)) {
         nErr = Config_HomePageResetDone(me, &pBlob, &nBlobLen);
      }
      else if (STRBEGINS("homepage.reset", cpszUrl)) {
         nErr = Config_HomePageReset(me, &pBlob, &nBlobLen);
      }
      else if (STRBEGINS("homepage.sub", cpszUrl)) {
         char *pszURLData = 0;
         nErr = ERR_STRDUP((char*)pup->cpcSrch + 1, &pszURLData);
         if (SUCCESS == nErr) {
            nErr = Config_HomePageSubmit(me, pszURLData, &pBlob, &nBlobLen);
         }
         FREEIF(pszURLData);
      }
      else if (STRBEGINS("homepage", cpszUrl)) {
         nErr = Config_HomePage(me, &pBlob, &nBlobLen);
      } 
   }

   if ((AEEResBlob *)0 != pBlob) {

      if (0 < AEEResBlob_StrRepl(&pBlob, &nBlobLen,
                                 "invoke%s\0", me->szInvoke)) {
         nErr = ENOMEMORY;
      }
   
      if (SUCCESS == nErr) {
         nErr = ISOURCEUTIL_SourceFromMemory(me->plcgie->piSourceUtil, 
                                             RESBLOB_DATA(pBlob),
                                             STRLEN(RESBLOB_DATA(pBlob)),
                                             GET_HELPER()->free, pBlob,
                                             &me->wri.pisMessage);
      }

      if (SUCCESS == nErr) {
         me->wri.lContentLength = STRLEN(RESBLOB_DATA(pBlob));
         me->wri.nCode = WEBCODE_OK;
      } else {
         FREE(pBlob);
      }
   }

   return nErr;
}