Example #1
0
void ooTrace (char *file, long line, OOUINT32 traceLevel, const char * fmtspec, ...)
{
   char *filename;
   va_list arglist;
   if (traceLevel > gs_traceLevel) return;

   logDateTime();

   if (gs_printTime) {
      filename = strrchr(file, '/');

      if (filename) {
         filename++;
      } else {
         filename = file;
      }

      fprintf (gH323ep.fptraceFile, "%s:%-4ld ", filename, line);
   }

   va_start (arglist, fmtspec);


   vfprintf (gH323ep.fptraceFile, fmtspec, arglist);

   va_end (arglist);

   fflush (gH323ep.fptraceFile);

   gs_printTime = (OOBOOL)(0 != strchr(fmtspec, '\n'));
}
Example #2
0
// format input, convert to 8-bit and send.
void nclog (const wchar_t *fmt, ...)
{
		TCHAR StrW[1024];
        va_list vl;
        va_start(vl,fmt);
        wchar_t buf[1024]; // to bad CE hasn't got wvnsprintf
        wvsprintf(buf,fmt,vl);

		if(bUseSocket)
			wsa_init();
        char bufOut[512];
		
		//insert data/time
		wsprintf(StrW, L"%s: %s", logDateTime(), buf);
		wsprintf(buf, L"%s", StrW);

        WideCharToMultiByte(CP_ACP,0,buf,-1,bufOut,400, NULL, NULL);

		RETAILMSG(1, (buf));	//moved from 1)
	
	if(iUseLogging==1){
#ifdef MYDEBUG
		wsa_send(bufOut);
		DEBUGMSG(1, (buf));
#else
		if(bUseSocket)
			wsa_send(bufOut);
		// 1)
#endif
		writefile(buf);
	}//iUseLogging
}
Example #3
0
DWORD msgThread(LPVOID lpParam){
	HWND hWnd = (HWND)lpParam;
	hwndMsg=hWnd;

	DEBUGMSG(1,(L"Waiting for Bluetooth notifications with hwnd=%i...\n", hWnd));
	nclog(L"%s: Waiting for Bluetooth notifications...\n", logDateTime());
	
	TCHAR szMsg[MAX_PATH];
	wsprintf(szMsg, L"\r\n%s: Waiting for Bluetooth notifications...", logDateTime());
	printMsg(szMsg, hWnd);

	BTEVENT btEvent;
	DWORD dwBytesRead;
	DWORD dwFlags;
	BOOL fRet;

	while (FALSE == bStop) {
		DWORD dwWait = WaitForSingleObject (hMsgQ, 5000);//wait up to 5 seconds INFINITE);
		switch (dwWait){
			case WAIT_OBJECT_0:
				// We have got a Bluetooth event!
				dwFlags = 0;
				dwBytesRead = 0;

				fRet = ReadMsgQueue (hMsgQ, &btEvent, sizeof(BTEVENT), &dwBytesRead, 10, &dwFlags);
				if (! fRet) {
					DEBUGMSG(1,(L"Error - Failed to read message from queue!\n"));
					//bStop=TRUE;
				} 
				else {
					dumpBTevent(btEvent, hWnd);
				}
				break;
			case WAIT_TIMEOUT:
				break;
			case WAIT_ABANDONED:
				DEBUGMSG(1,(L"Error - Unexpected return value from WaitForSingleObject!\n"));
				//bStop=TRUE;
				break;
			case WAIT_FAILED:
				DEBUGMSG(1,(L"Error - Unexpected return value from WaitForSingleObject!\n"));
				//bStop=TRUE;
				break;
		}//switch
	}//while
	return 0;
}
Example #4
0
void dumpBTevent(BTEVENT btEvent, HWND hwnd){
	BT_CONNECT_EVENT* cntEvt = NULL;
	BT_DISCONNECT_EVENT* discntEvt=NULL;
	BT_ROLE_SWITCH_EVENT* rolSwitchEvt=NULL;
	BT_MODE_CHANGE_EVENT* btModeChgEvt=NULL;
	BT_LINK_KEY_EVENT* btLnkKeyEvt=NULL;

	TCHAR btAddress[18];
	TCHAR hConn[12];
	TCHAR encMode[5];
	TCHAR linkType[5];
	TCHAR szTemp[MAX_PATH];
	TCHAR szMsg[MAX_PATH];

	wsprintf(szMsg, L"\r\n");

	switch (btEvent.dwEventId){
		case BTE_KEY_NOTIFY:
			wsprintf(szMsg, L"\r\n%s: BTE_KEY_NOTIFY:", logDateTime());
			break;
		case BTE_KEY_REVOKED:
			btLnkKeyEvt = (BT_LINK_KEY_EVENT*)btEvent.baEventData;
			//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
			wsprintf(btAddress, L"%s", btAddr2Mac( btLnkKeyEvt->bta, btAddress));
			wsprintf(szMsg, L"\r\n%s: BTE_KEY_REVOKED: mac=%s", logDateTime(), btAddress);
			break;
		case BTE_LOCAL_NAME:
			wsprintf(szMsg, L"\r\n%s: BTE_LOCAL_NAME:", logDateTime());
			break;
		case BTE_COD:			
			wsprintf(szMsg, L"\r\n%s: BTE_COD:", logDateTime());
			break;
		case BTE_STACK_UP:			
			wsprintf(szMsg, L"\r\n%s: BTE_STACK_UP:", logDateTime());
			break;
		case BTE_STACK_DOWN:
			wsprintf(szMsg,L"\r\n%s: BTE_STACK_DOWN:", logDateTime());
			break;
		case BTE_CONNECTION:
			cntEvt = (BT_CONNECT_EVENT*)btEvent.baEventData;
			btAddr2Mac(cntEvt->bta, btAddress);
			wsprintf(btAddress, L"%s", btAddress);// L"0x00 n/a");
			wsprintf(hConn, L"0x%08x", cntEvt->hConnection);
			wsprintf(encMode, L"0x%02x", cntEvt->ucEncryptMode);
			wsprintf(linkType, L"0x%02x", cntEvt->ucLinkType);
			wsprintf(szMsg, L"\r\n%s: BTE_CONNECTION: hnd=%s, mac=%s, enc=%s, lnk=%s",
				logDateTime(),
				hConn,
				btAddress,
				encMode,
				linkType);
			break;
		case BTE_PAGE_TIMEOUT:
			wsprintf(szMsg,L"\r\n%s: BTE_PAGE_TIMEOUT:", logDateTime());
			break;
		case BTE_MODE_CHANGE:
			btModeChgEvt = (BT_MODE_CHANGE_EVENT*)btEvent.baEventData;
			wsprintf(btAddress, L"%s", btAddr2Mac(btModeChgEvt->bta, btAddress));
			wsprintf(hConn, L"0x%08x", btModeChgEvt->hConnection);
			wsprintf(encMode, L"0x%02x", btModeChgEvt->bMode);
			wsprintf(szTemp, L"%i", btModeChgEvt->usInterval);
			wsprintf(szMsg, L"\r\n%s: BTE_MODE_CHANGE: cnt=%s, mac=%s, mod=%s, int=%s",
				logDateTime(),
				hConn,
				btAddress,
				encMode,
				szTemp);
			break;
		case BTE_ROLE_SWITCH:
			rolSwitchEvt = (BT_ROLE_SWITCH_EVENT*)btEvent.baEventData;
			wsprintf(btAddress, L"%s", btAddr2Mac(rolSwitchEvt->bta, btAddress));
			wsprintf(szTemp, L"0x%02x", rolSwitchEvt->fRole);
			wsprintf(szMsg, L"\r\n%s: BTE_ROLE_SWITCH: mac=%s, new role=%s",
				logDateTime(),
				btAddress, 
				szTemp);
			break;
		case BTE_DISCONNECTION:
			discntEvt = (BT_DISCONNECT_EVENT*)btEvent.baEventData;
			wsprintf(hConn, L"0x%08x", discntEvt->hConnection);
			wsprintf(szTemp, L"%i", discntEvt->ucReason);
			if( discntEvt->ucReason <= lastError)
				wsprintf(szTemp, L"'%s'", szBTerror[discntEvt->ucReason]);
			wsprintf(szMsg, L"\r\n%s: BTE_DISCONNECTION: hnd=%s, why=%s",
				logDateTime(),
				hConn, 
				szTemp);
			break;
		case BTE_CONNECTION_AUTH_FAILURE:
			wsprintf(szMsg, L"\r\n%s BTE_CONNECTION_AUTH_FAILURE", logDateTime());
			break;
		default:
			wsprintf(szMsg, L"\r\n%s: unknown BT event: %i", logDateTime(), btEvent.dwEventId);
			break;
	}//switch
	DEBUGMSG(1, (szMsg));
	nclog(szMsg);
	printMsg(szMsg, hwnd);
}
Example #5
0
void stopMsgQueue(){
	StopBluetoothNotifications(hBTNotif);
	nclog(L"BT notification ended: %s\n", logDateTime());
}
Example #6
0
int _tmain(int argc, _TCHAR* argv[])
{
	// -class "IE6on6SoftKeyBar" -enable -list
	if(argc==1){	// no args
		nclog(L"showFullScreen utility v 1.0 * %s\n", logDateTime());
		printHelp();
		MessageBox(GetDesktopWindow(), L"showFullScreen needs some args. Please see 'showFullScreen.exe.log.txt'", L"showFullScreen", MB_SETFOREGROUND | MB_TOPMOST | MB_OK);
		return -3;
	}

	DEBUGMSG(1, (L"CmdLine parsing #1: \r\n"));
	//command parsing
	struct cmdList *Liste;
	Liste=NULL;
	CmdLineArgs args;
	for (UINT i = 0; i < args.size(); i++){
		DEBUGMSG(1, (L"%20i: '%s'\r\n", i, args[i]));
		append(&Liste, args[i]);
	}
	getOptions(Liste);
	args.~CmdLineArgs();
	//end of parsing

	if(bListWindows){
		nclog(L"showFullScreen utility v 1.0 * %s\n", logDateTime());
		
		ListWindows();
	}

	//look for window
	HWND hWnd=NULL;
	if(wcslen(szWindowClass) && wcslen(szWindowTitle)){
		//window title and class
		hWnd = FindWindow(szWindowClass, szWindowTitle);
	}
	else if(wcslen(szWindowClass)){
		//only window class, ie "WFIcaClient"
		hWnd = FindWindow(szWindowClass, NULL);
	}
	else if(wcslen(szWindowTitle)){
		//only window title
		hWnd = FindWindow(NULL, szWindowTitle);
	}

	HWND hWndTaskbar = FindWindow(L"HHTASKBAR", NULL);
	//sanity restore of HHTASKBAR?
	//ShowWindow(hWndTaskbar, SW_SHOWNORMAL);

	if(hWnd==NULL)
		return -1;	//no window found

	if(bChangeSize){	//change size?
		RECT rectDesktop;
		HRESULT hRes = GetWindowRect(GetDesktopWindow(), &rectDesktop);	//desktopwindow is only the taskbar window!
		// SM_CXFULLSCREEN , SM_CXMAXIMIZED , SM_CXSCREEN 
		int iCX;
		int iCY;
		BOOL bRes;
		if(bShowFullScreen){
			iCX = GetSystemMetrics(SM_CXSCREEN);	// 480
			iCY = GetSystemMetrics(SM_CYSCREEN);	// 640
			bRes = SetWindowPos(hWnd, GetDesktopWindow(), 0, 0, iCX, iCY, SWP_SHOWWINDOW);
			ShowWindow(hWndTaskbar, SW_HIDE);
		}
		else{
			RECT rcMaxScreen;
			SystemParametersInfo(SPI_GETWORKAREA, 0, &rcMaxScreen, SPIF_SENDCHANGE);	// {top=36 bottom=640 left=0 right=480}
			bRes = SetWindowPos(hWnd, GetDesktopWindow(), rcMaxScreen.left, rcMaxScreen.top, rcMaxScreen.right, rcMaxScreen.bottom-rcMaxScreen.top, SWP_SHOWWINDOW);
			ShowWindow(hWndTaskbar, SW_SHOWNORMAL);
		}
	}
	if(iShowHide!=0){	//change show/hide
		switch(iShowHide){
			case 1:
				ShowWindow(hWnd, SW_SHOWNORMAL);
				break;
			case 2:
				ShowWindow(hWnd, SW_HIDE);
				break;
		}
	}
	if(iEnableDisable!=0){	//enable/disbale window
		switch(iEnableDisable){
			case 1:
				EnableWindow(hWnd, TRUE);
				break;
			case 2:
				EnableWindow(hWnd, FALSE);
				break;
		}
	}

	return 0;
}