[Tinyos-contrib-commits] CVS: tinyos-1.x/contrib/handhelds/apps/AccessPointWindows/802_15_4_AP/AP_CFG AP_CFG.cpp, NONE, 1.1 AP_CFG.h, NONE, 1.1 AP_CFG.rc, NONE, 1.1 AP_CFG.vcproj, NONE, 1.1 resource.h, NONE, 1.1 stdafx.cpp, NONE, 1.1 stdafx.h, NONE, 1.1

steve ayer ayer1 at users.sourceforge.net
Fri Aug 29 08:24:25 PDT 2008


Update of /cvsroot/tinyos/tinyos-1.x/contrib/handhelds/apps/AccessPointWindows/802_15_4_AP/AP_CFG
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv22785/AccessPointWindows/802_15_4_AP/AP_CFG

Added Files:
	AP_CFG.cpp AP_CFG.h AP_CFG.rc AP_CFG.vcproj resource.h 
	stdafx.cpp stdafx.h 
Log Message:

first check-in of catalin caranfil's windows version of the 802.15.4
access point s/w suite written by andrew christian.


--- NEW FILE: AP_CFG.cpp ---
/*
 *  AP_CFG - small GUI program to do part of the configuration
 *           for AP_CON (the console-mode 802.15.4 AP for Windows)
 *
 *  This source code is Copyright (C) 2008 Realtime Technologies
 *  and is released under the GPL version 2 (see below)
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License version 2
 *  as published by the Free Software Foundation.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program (see the file COPYING included with this
 *  distribution); if not, write to the Free Software Foundation, Inc.,
 *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 *  Author: Caranfil Catalin <ccaranfil at shimmer-research.com>
 */ 


// AP_CFG v0.60
// the configuration is in 802_15_4_AP.INI

#include "stdafx.h"
#define MAX_LOADSTRING 100

// Global Variables:
HINSTANCE	g_hinstance;								// current instance
TCHAR		g_szTitle[MAX_LOADSTRING];					// The title bar text

HWND		g_h_dlg = 0;


// stuff to build info about where program + INI are located
char g_path_file_prg[2048] = "";
char g_path_dir_prg[2048] = "";
char g_full_name_INI[2048] = "";

const char * g_name_INI = "802_15_4_AP.INI";

char g_ini_section[]	= "AP_WIN32";
char g_ini_adapter[]	= "ADAPTER_ID";
char g_ini_COM[]		= "COM_PORT";
char g_ini_flag_udp[]	= "FLAG_UDP";
char g_ini_verbose[]	= "VERBOSE";

char	g_name_adapter[256]	= "";
char	g_name_COM[256]		= "";
bool	g_flag_udp			= false;
DWORD	g_verbose			= 0;


//#define ADAPTER_KEY "SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002BE10318}"
//#define NETWORK_CONNECTIONS_KEY "SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}"



struct adapter_info
	{
	string		class_no;	// used under ADAPTER_KEY
	string		conn_guid;	// also the driver name
	string		name;		// name in list
	};


typedef list<adapter_info> list_adapter_info;


list_adapter_info g_list_adapter_info;






int filename_to_pathname_x(char * buff)
	{
	if(buff == 0 || buff[0] == 0)
		{
		return -1;
		}
	char * last_slash = 0;
	char * p = buff;
	int i = 0;
	while(*p)
		{
		if(*p == '\\' || *p == '/')
			{
			last_slash = p;
			}
		p = CharNext(p);
		}
	last_slash = CharNext(last_slash);
	*last_slash = 0;
	return last_slash - buff;
	}




//#define ADAPTER_KEY "SYSTEM\\CurrentControlSet\\Control\\Class\\{4D36E972-E325-11CE-BFC1-08002BE10318}"
//#define NETWORK_CONNECTIONS_KEY "SYSTEM\\CurrentControlSet\\Control\\Network\\{4D36E972-E325-11CE-BFC1-08002BE10318}"



void ErrorMessage(DWORD error, LPCTSTR caption = "Error")
	{
	char * lpMsgBuf;
	FormatMessage( 
		FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
		NULL,
		error,
		MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
		(LPTSTR) &lpMsgBuf,
		0,
		NULL 
	);
	// Display the string.
	MessageBox( NULL, lpMsgBuf, caption, MB_OK|MB_ICONINFORMATION );
	// Free the buffer.
	LocalFree( lpMsgBuf );
	}




#define SMALL_BUFF  0x01000
//#define MEDIUM_BUFF 0x80000

int build_adapter_list()
	{
	HKEY k1;
	LONG r = RegOpenKeyEx(HKEY_LOCAL_MACHINE, ADAPTER_KEY, 0, KEY_READ, &k1);
	if(r != ERROR_SUCCESS)
		{
		ErrorMessage(r);
		return -1;
		}

	int index=0;
	static char b1[SMALL_BUFF];
	DWORD l1=SMALL_BUFF;
//	static char b2[MEDIUM_BUFF];
//	DWORD l2=MEDIUM_BUFF;

	FILETIME ft;
	index = 0;

	do
		{
		l1 = SMALL_BUFF;
		//l2 = MEDIUM_BUFF;
		r = RegEnumKeyEx(k1, index, b1, &l1, 0, NULL, NULL, &ft);
		if(r == ERROR_NO_MORE_ITEMS)
			{
			break;
			}
		if(r != ERROR_SUCCESS )
			{
			ErrorMessage(r);
			}
		
		adapter_info ai;
		ai.class_no.assign(b1);

		HKEY k2;
		r = RegOpenKeyEx(k1, b1, 0, KEY_READ, &k2);
		if(r == ERROR_SUCCESS)
			{
			char b2[SMALL_BUFF] = "";
			DWORD l2 = SMALL_BUFF;
			r = RegQueryValueEx(k2, "NetCfgInstanceId", 0, 0, (BYTE*) b2, &l2);
			if(r == ERROR_SUCCESS)
				{
				ai.conn_guid.assign(b2);
				}
			b2[0]=0;
			l2 = SMALL_BUFF;
			r = RegQueryValueEx(k2, "DriverDesc", 0, 0, (BYTE*) b2, &l2);
			if(r == ERROR_SUCCESS)
				{
				ai.name.assign(b2);
				}
			RegCloseKey(k2);
			
			if(ai.conn_guid.length() > 0)
				{
				string net_conn_key_name(NETWORK_CONNECTIONS_KEY);
				net_conn_key_name += "\\";
				net_conn_key_name += ai.conn_guid;
				net_conn_key_name += "\\Connection";
				
				const char * p = net_conn_key_name.c_str();
				
				r = RegOpenKeyEx(HKEY_LOCAL_MACHINE, p, 0, KEY_READ, &k2);
				if(r == ERROR_SUCCESS)
					{
					b2[0]=0;
					l2 = SMALL_BUFF;
					r = RegQueryValueEx(k2, "Name", 0, 0, (BYTE*) b2, &l2);
					if(r == ERROR_SUCCESS)
						{
						ai.name += " - ";
						ai.name += b2;
						g_list_adapter_info.push_back(ai);
						}
					RegCloseKey(k2);
					}
				}
			}
		
		++index;
		l1=SMALL_BUFF;
		//l2=MEDIUM_BUFF;
		}
	while(1);

	if(r!=ERROR_NO_MORE_ITEMS)
		{
		ErrorMessage(r);
		}

	RegCloseKey(k1);

	return index;
	}



int init_main()
	{
	build_adapter_list();

	char buff[256];
	int len;
	
	GetModuleFileName(NULL, g_path_file_prg, SIZEOF(g_path_file_prg));
	strcpy(g_path_dir_prg ,g_path_file_prg);
	filename_to_pathname_x(g_path_dir_prg);

	SetCurrentDirectory(g_path_dir_prg);

	strcpy(g_full_name_INI, g_path_dir_prg);
	strcat(g_full_name_INI, g_name_INI);

	len = GetPrivateProfileString(g_ini_section, g_ini_adapter, "", buff, sizeof(buff), g_full_name_INI);
	if(len > 0)
		{
		strcpy(g_name_adapter, buff);
		}

	len = GetPrivateProfileString(g_ini_section, g_ini_COM, "", buff, sizeof(buff), g_full_name_INI);
	if(len > 0)
		{
		strcpy(g_name_COM, buff);
		}

	len = GetPrivateProfileString(g_ini_section, g_ini_flag_udp, "", buff, sizeof(buff), g_full_name_INI);
	if(len > 0)
		{
		int flag = 0;
		sscanf(buff, "%d", &flag);
		g_flag_udp = (flag != 0);
		}

	len = GetPrivateProfileString(g_ini_section, g_ini_verbose, "", buff, sizeof(buff), g_full_name_INI);
	if(len > 0)
		{
		DWORD v = 0;
		sscanf(buff, "%u", &v);
		g_verbose = v;
		}


	return 0;
	}













void CenterWindow(HWND hwnd)
	{
	RECT r1,r2;
	HWND parent;
	GetWindowRect(hwnd,&r1);
	parent=GetParent(hwnd);
	SystemParametersInfo(SPI_GETWORKAREA, 0, &r2, 0);
	int sx1=r1.right-r1.left;
	int sy1=r1.bottom-r1.top;
	int sx2=r2.right-r2.left;
	int sy2=r2.bottom-r2.top;
	int off_x = r2.left + (sx2-sx1)/2;
	int	off_y = r2.top + (sy2-sy1)/2;
	MoveWindow(hwnd, off_x, off_y, sx1, sy1, TRUE);
	}





BOOL Dlg_cfg_OnInitDialog(HWND hwnd, HWND hwndFocus,LPARAM lParam)
	{
	CenterWindow(hwnd);
	
	HWND hcombo = GetDlgItem(hwnd, IDC_COMBO_ADAPTER);
	ComboBox_ResetContent(hcombo);

	int found = -1;
	list_adapter_info::iterator it;
	int i;
	for(it = g_list_adapter_info.begin(); it != g_list_adapter_info.end(); ++it)
		{
		i = ComboBox_AddString(hcombo, it->name.c_str());
		if(it->conn_guid == g_name_adapter)
			{
			found = i;
			}
		}
	if(found >= 0)
		{
		ComboBox_SetCurSel(hcombo, found);
		}
	
	Edit_SetText(GetDlgItem(hwnd, IDC_EDIT_COM), g_name_COM);
	
	Button_SetCheck(GetDlgItem(hwnd, IDC_CHECK_UDP), g_flag_udp);

	Button_SetCheck(GetDlgItem(hwnd, IDC_CHECK_V_EVENTS), g_verbose & VERBOSE_EVENTS);
	Button_SetCheck(GetDlgItem(hwnd, IDC_CHECK_V_UNESCAPE), g_verbose & VERBOSE_UNESCAPE);
	Button_SetCheck(GetDlgItem(hwnd, IDC_CHECK_V_DATA), g_verbose & VERBOSE_DATA);
	Button_SetCheck(GetDlgItem(hwnd, IDC_CHECK_V_UNESC_ALL), g_verbose & VERBOSE_UNESC_ALL);
	Button_SetCheck(GetDlgItem(hwnd, IDC_CHECK_V_COMM_ALL), g_verbose & VERBOSE_COMM_ALL);
	
	return(TRUE);
	}






BOOL Dlg_cfg_OnCommand (HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
	{
	switch (id)
   		{
   	case IDOK:
   		{
   		int i = ComboBox_GetCurSel(GetDlgItem(hwnd, IDC_COMBO_ADAPTER));
   		if(i < 0)
   			{
   			break;
   			}
		list_adapter_info::iterator it = g_list_adapter_info.begin();
		advance(it, i);
		lstrcpyn(g_name_adapter, it->conn_guid.c_str(), SIZEOF(g_name_adapter));
		Edit_GetText(GetDlgItem(hwnd, IDC_EDIT_COM), g_name_COM, SIZEOF(g_name_COM));
		g_flag_udp = Button_GetCheck(GetDlgItem(hwnd, IDC_CHECK_UDP));
		WritePrivateProfileString(g_ini_section, g_ini_adapter, g_name_adapter, g_full_name_INI);
		WritePrivateProfileString(g_ini_section, g_ini_COM, g_name_COM, g_full_name_INI);
		WritePrivateProfileString(g_ini_section, g_ini_flag_udp, g_flag_udp ? "1" : "0", g_full_name_INI);

		{
		g_verbose = 0;
		if(Button_GetCheck(GetDlgItem(hwnd, IDC_CHECK_V_EVENTS)))
			{
			g_verbose |= VERBOSE_EVENTS;
			}
		if(Button_GetCheck(GetDlgItem(hwnd, IDC_CHECK_V_UNESCAPE)))
			{
			g_verbose |= VERBOSE_UNESCAPE;
			}
		if(Button_GetCheck(GetDlgItem(hwnd, IDC_CHECK_V_DATA)))
			{
			g_verbose |= VERBOSE_DATA;
			}
		if(Button_GetCheck(GetDlgItem(hwnd, IDC_CHECK_V_UNESC_ALL)))
			{
			g_verbose |= VERBOSE_UNESC_ALL;
			}
		if(Button_GetCheck(GetDlgItem(hwnd, IDC_CHECK_V_COMM_ALL)))
			{
			g_verbose |= VERBOSE_COMM_ALL;
			}
		char b[64];
		sprintf(b, "%u", g_verbose);
		WritePrivateProfileString(g_ini_section, g_ini_verbose, b, g_full_name_INI);
		}
		
		}
   		PostQuitMessage(IDOK);
        break;

  	case IDCANCEL:
   		PostQuitMessage(IDCANCEL);
        break;

	case IDC_EDIT_COM:
		{
		if(codeNotify!=EN_UPDATE && codeNotify!=EN_CHANGE)
			{
			break;
			}
		// extra ?
		}
		break;


	case IDC_COMBO_ADAPTER:
		{
		if(codeNotify==CBN_DROPDOWN)
			{
			}
		if(codeNotify==CBN_CLOSEUP)
			{
			}
		if(codeNotify==CBN_SETFOCUS)
			{
			}
		if(codeNotify==CBN_KILLFOCUS)
			{
			}
		if(codeNotify==CBN_SELCHANGE)
			{
			//Beep(5000, 10);
			//stip_lb_sel();
			}
		if(codeNotify!=CBN_SELENDOK)
			{
			break;
			}
		// save it locally
		} // IDC_COMBO_ADAPTER
		break;



	case IDC_CHECK_UDP:
		if(codeNotify==BN_CLICKED)
			{
			//goto p_changed;
			}
		break;


   		} // switch (id)

	return TRUE;
	}



BOOL CALLBACK Dlg_cfg_Proc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
	{
	BOOL fProcessed = FALSE;

	switch (uMsg)
		{
		HANDLE_MSG(hDlg, WM_INITDIALOG, 	Dlg_cfg_OnInitDialog);
		HANDLE_MSG(hDlg, WM_COMMAND,		Dlg_cfg_OnCommand);
//		HANDLE_MSG(hDlg, WM_TIMER,			Dlg_cfg_OnTimer);

//		HANDLE_MSG(hDlg, WM_MEASUREITEM,	Dlg_cfg_OnMeasureItem);
//		HANDLE_MSG(hDlg, WM_DRAWITEM,		Dlg_cfg_OnDrawItem);

//		HANDLE_MSG(hDlg, WM_QUERYENDSESSION,Dlg_cfg_OnQueryEndSession);
//		HANDLE_MSG(hDlg, WM_ENDSESSION,		Dlg_cfg_OnEndSession);

//		HANDLE_MSG(hDlg, WM_ACTIVATE,		Dlg_cfg_OnActivate);


	case WM_POWERBROADCAST:
		//Beep(5000, 300);
		return DefWindowProc(hDlg, uMsg, wParam, lParam);
	

	default:
		;

		}


	return(fProcessed);
	}







int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
	{
	g_hinstance	= hInstance;

	MSG msg;
	HACCEL hAccelTable;

	// Initialize global strings
	//LoadString(hInstance, IDS_APP_TITLE, g_szTitle, MAX_LOADSTRING);

	int i = init_main();

	g_h_dlg = CreateDialog(g_hinstance, MAKEINTRESOURCE(IDD_MAIN), NULL, (DLGPROC)Dlg_cfg_Proc);

	//SetWindowText(g_h_dlg, esx_string);

	LONG l = (LONG) LoadIcon(g_hinstance, MAKEINTRESOURCE(IDI_CFG));
	SetClassLong(g_h_dlg, GCL_HICON,l);

	ShowWindow(g_h_dlg, SW_SHOWNORMAL);
	//ShowWindow(g_h_dlg, nCmdShow);



	// Main message loop:
	while (GetMessage(&msg, NULL, 0, 0)) 
		{
		if(IsDialogMessage(g_h_dlg, &msg))
			{
			continue;
			}

//		if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) 
			{
			TranslateMessage(&msg);
			DispatchMessage(&msg);
			}
		}

	return (int) msg.wParam;
	}



--- NEW FILE: AP_CFG.h ---
#pragma once

#include "resource.h"

--- NEW FILE: AP_CFG.rc ---
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#define APSTUDIO_HIDDEN_SYMBOLS
#include "windows.h"
#undef APSTUDIO_HIDDEN_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32

/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//

IDD_MAIN DIALOGEX 0, 0, 424, 246
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | 
    WS_SYSMENU
CAPTION "AP_CFG - 802.15.4 AP configuration program"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
    LTEXT           "&Network adapter:",IDC_STATIC_ADAPTER,18,46,336,8
    COMBOBOX        IDC_COMBO_ADAPTER,24,58,372,156,CBS_DROPDOWNLIST | 
                    WS_VSCROLL | WS_TABSTOP
    PUSHBUTTON      "SAVE settings and EXIT",IDOK,43,222,150,14
    DEFPUSHBUTTON   "Cancel",IDCANCEL,229,222,150,14
    LTEXT           "AP_CFG Version 0.4 Copyright (C) 2008",IDC_STATIC_C,18,
                    6,384,10,SS_NOPREFIX
    EDITTEXT        IDC_EDIT_COM,24,101,372,14,ES_AUTOHSCROLL
    LTEXT           "&COM port:",IDC_STATIC_COM,18,89,372,8
    CONTROL         "&UDP allowed",IDC_CHECK_UDP,"Button",BS_AUTOCHECKBOX | 
                    WS_TABSTOP,24,140,372,10
    CONTROL         "&Only show TAP-Win32 v9",IDC_CHECK_ONLY_TAP9,"Button",
                    BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,18,34,97,10
    CONTROL         "Verbose on &Events",IDC_CHECK_V_EVENTS,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,24,168,174,10
    CONTROL         "Verbose on &Unescape",IDC_CHECK_V_UNESCAPE,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,24,180,174,10
    CONTROL         "Verbose on &Data",IDC_CHECK_V_DATA,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,24,194,174,10
    CONTROL         "Verbose on &All Unescape",IDC_CHECK_V_UNESC_ALL,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,225,168,174,10
    CONTROL         "Verbose on all &ReadCOM",IDC_CHECK_V_COMM_ALL,"Button",
                    BS_AUTOCHECKBOX | WS_TABSTOP,225,180,174,10
END


#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE 
BEGIN
    "resource.h\0"
END

2 TEXTINCLUDE 
BEGIN
    "#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
    "#include ""windows.h""\r\n"
    "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
    "\0"
END

3 TEXTINCLUDE 
BEGIN
    "\r\n"
    "\0"
END

#endif    // APSTUDIO_INVOKED


/////////////////////////////////////////////////////////////////////////////
//
// Icon
//

// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_CFG                 ICON                    "icon_cfg.ico"

/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//

#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO 
BEGIN
    IDD_MAIN, DIALOG
    BEGIN
        LEFTMARGIN, 7
        RIGHTMARGIN, 417
        TOPMARGIN, 7
        BOTTOMMARGIN, 239
    END
END
#endif    // APSTUDIO_INVOKED


/////////////////////////////////////////////////////////////////////////////
//
// Version
//

VS_VERSION_INFO VERSIONINFO
 FILEVERSION 1,0,0,1
 PRODUCTVERSION 1,0,0,1
 FILEFLAGSMASK 0x17L
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
 FILEOS 0x4L
 FILETYPE 0x1L
 FILESUBTYPE 0x0L
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904b0"
        BEGIN
            VALUE "FileDescription", "AP_CFG Application"
            VALUE "FileVersion", "1, 0, 0, 1"
            VALUE "InternalName", "AP_CFG"
            VALUE "LegalCopyright", "Copyright (C) 2008"
            VALUE "OriginalFilename", "AP_CFG.exe"
            VALUE "ProductName", " AP_CFG Application"
            VALUE "ProductVersion", "1, 0, 0, 1"
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1200
    END
END


/////////////////////////////////////////////////////////////////////////////
//
// String Table
//

STRINGTABLE 
BEGIN
    IDS_APP_TITLE           "AP_CFG"
    IDC_AP_CFG              "AP_CFG"
END

#endif    // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////



#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//


/////////////////////////////////////////////////////////////////////////////
#endif    // not APSTUDIO_INVOKED


--- NEW FILE: AP_CFG.vcproj ---
<?xml version="1.0" encoding = "Windows-1252"?>
<VisualStudioProject
	ProjectType="Visual C++"
	Version="7.00"
	Name="AP_CFG"
	ProjectGUID="{854381F1-180D-4D32-ADAC-7CF7F2950B89}"
	Keyword="Win32Proj">
	<Platforms>
		<Platform
			Name="Win32"/>
	</Platforms>
	<Configurations>
		<Configuration
			Name="Debug|Win32"
			OutputDirectory="../Debug"
			IntermediateDirectory="Debug"
			ConfigurationType="1"
			CharacterSet="2">
			<Tool
				Name="VCCLCompilerTool"
				Optimization="0"
				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
				MinimalRebuild="TRUE"
				BasicRuntimeChecks="3"
				RuntimeLibrary="5"
				UsePrecompiledHeader="3"
				WarningLevel="3"
				Detect64BitPortabilityProblems="TRUE"
				DebugInformationFormat="4"/>
			<Tool
				Name="VCCustomBuildTool"/>
			<Tool
				Name="VCLinkerTool"
				OutputFile="$(OutDir)/AP_CFG.exe"
				LinkIncremental="2"
				GenerateDebugInformation="TRUE"
				ProgramDatabaseFile="$(OutDir)/AP_CFG.pdb"
				SubSystem="2"
				TargetMachine="1"/>
			<Tool
				Name="VCMIDLTool"/>
			<Tool
				Name="VCPostBuildEventTool"/>
			<Tool
				Name="VCPreBuildEventTool"/>
			<Tool
				Name="VCPreLinkEventTool"/>
			<Tool
				Name="VCResourceCompilerTool"/>
			<Tool
				Name="VCWebServiceProxyGeneratorTool"/>
			<Tool
				Name="VCWebDeploymentTool"/>
		</Configuration>
		<Configuration
			Name="Release|Win32"
			OutputDirectory="../Release"
			IntermediateDirectory="Release"
			ConfigurationType="1"
			CharacterSet="2">
			<Tool
				Name="VCCLCompilerTool"
				Optimization="2"
				InlineFunctionExpansion="1"
				OmitFramePointers="TRUE"
				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
				StringPooling="TRUE"
				RuntimeLibrary="4"
				EnableFunctionLevelLinking="TRUE"
				UsePrecompiledHeader="3"
				WarningLevel="3"
				Detect64BitPortabilityProblems="TRUE"
				DebugInformationFormat="3"/>
			<Tool
				Name="VCCustomBuildTool"/>
			<Tool
				Name="VCLinkerTool"
				OutputFile="$(OutDir)/AP_CFG.exe"
				LinkIncremental="1"
				GenerateDebugInformation="TRUE"
				SubSystem="2"
				OptimizeReferences="2"
				EnableCOMDATFolding="2"
				TargetMachine="1"/>
			<Tool
				Name="VCMIDLTool"/>
			<Tool
				Name="VCPostBuildEventTool"/>
			<Tool
				Name="VCPreBuildEventTool"/>
			<Tool
				Name="VCPreLinkEventTool"/>
			<Tool
				Name="VCResourceCompilerTool"/>
			<Tool
				Name="VCWebServiceProxyGeneratorTool"/>
			<Tool
				Name="VCWebDeploymentTool"/>
		</Configuration>
	</Configurations>
	<Files>
		<Filter
			Name="Source Files"
			Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm">
			<File
				RelativePath="AP_CFG.cpp">
			</File>
			<File
				RelativePath="stdafx.cpp">
				<FileConfiguration
					Name="Debug|Win32">
					<Tool
						Name="VCCLCompilerTool"
						UsePrecompiledHeader="1"/>
				</FileConfiguration>
				<FileConfiguration
					Name="Release|Win32">
					<Tool
						Name="VCCLCompilerTool"
						UsePrecompiledHeader="1"/>
				</FileConfiguration>
			</File>
		</Filter>
		<Filter
			Name="Header Files"
			Filter="h;hpp;hxx;hm;inl;inc">
			<File
				RelativePath="AP_CFG.h">
			</File>
			<File
				RelativePath="Resource.h">
			</File>
			<File
				RelativePath="..\H\common.h">
			</File>
			<File
				RelativePath="stdafx.h">
			</File>
		</Filter>
		<Filter
			Name="Resource Files"
			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
			<File
				RelativePath="AP_CFG.rc">
			</File>
			<File
				RelativePath="icon_cfg.ico">
			</File>
		</Filter>
	</Files>
	<Globals>
	</Globals>
</VisualStudioProject>

--- NEW FILE: resource.h ---
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by AP_CFG.rc
//
#define IDD_AP_CFG_DIALOG               102
#define IDS_APP_TITLE                   103
#define IDM_ABOUT                       104
#define IDM_EXIT                        105
#define IDC_AP_CFG                      109
#define IDI_CFG                         129
#define IDD_MAIN                        130
#define IDC_COMBO_ADAPTER               1000
#define IDC_STATIC_ADAPTER              1001
#define IDC_EDIT_COM                    1002
#define IDC_STATIC_COM                  1003
#define IDC_CHECK_UDP                   1004
#define IDC_CHECK_ONLY_TAP9             1005
#define IDC_CHECK_V_EVENTS              1008
#define IDC_CHECK_V_UNESCAPE            1009
#define IDC_CHECK_V_DATA                1010
#define IDC_CHECK_V_UNESC_ALL           1011
#define IDC_CHECK_V_UNESCAPE2           1012
#define IDC_CHECK_V_COMM_ALL            1012
#define IDC_STATIC                      -1
#define IDC_STATIC_C                    -1

// Next default values for new objects
// 
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NO_MFC                     1
#define _APS_NEXT_RESOURCE_VALUE        131
#define _APS_NEXT_COMMAND_VALUE         32771
#define _APS_NEXT_CONTROL_VALUE         1006
#define _APS_NEXT_SYMED_VALUE           110
#endif
#endif

--- NEW FILE: stdafx.cpp ---
// stdafx.cpp : source file that includes just the standard includes
// AP_CFG.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information

#include "stdafx.h"

// TODO: reference any additional headers you need in STDAFX.H
// and not in this file

--- NEW FILE: stdafx.h ---
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//

#pragma once

#define SIZEOF(array) (sizeof array / sizeof array[0])

#define WIN32_LEAN_AND_MEAN		// Exclude rarely-used stuff from Windows headers
// Windows Header Files:
#include <windows.h>
#include <windowsx.h>
// C RunTime Header Files
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <tchar.h>
#include <stdio.h>

#include "AP_CFG.h"
#include "resource.h"


#include "..\tap-win32\constants.h"
#include "..\tap-win32\common.h"
#include "..\tap-win32\proto.h"

#include "..\H\if_telos_ap.h"
#include "..\H\telos_ap.h"
#include "..\H\common.h"


//#include <functional>
//#include <algorithm>
//#include <set>
#include <string>
#include <list>

using namespace std;



More information about the Tinyos-contrib-commits mailing list