Sha256: 1562d513712a2796f2a6be0a38d1a45183988145706806ce6869021e37d1a4bb

Contents?: true

Size: 1.63 KB

Versions: 14

Compression:

Stored size: 1.63 KB

Contents

//  DCC (28/03/2013): This code is lifted without significant modification from RhoElements 1

/******************************************************************************/
#include <windows.h>
#include "FusionPublicAPI.h"
#include "logging/RhoLog.h"

/******************************************************************************/
#pragma once

/** Macro giving count of elements in an array */
#define COUNTOF(x) (sizeof(x)/sizeof(x[0]))

/******************************************************************************/
typedef DWORD (WINAPI* LPFN_OPEN_FUSION_API)   (PDWORD,FAPI_ACCESS_TYPE,PTCHAR);
typedef DWORD (WINAPI* LPFN_CLOSE_FUSION_API)  (DWORD);
typedef	DWORD (WINAPI* LPFN_COMMAND_FUSION_API)(DWORD,DWORD,PVOID,DWORD,PVOID,DWORD, PDWORD);

/******************************************************************************/
struct ADAPTER_STATUS
{
	int nSignalStrength;		// Percentage
	WCHAR szSSID [32];
	BYTE bMacAddress [6];
	WCHAR szName [64];
	WCHAR szDHCPAddress [16];
	BOOL bStatic;
	WCHAR szGatewayAddress [16];
	WCHAR szIpAddress [16];
	int nRSSI;
	WCHAR szSubnetMask [16];
	WCHAR szWinsAddress [16];
};

/******************************************************************************/
class CWLAN
{
public:
	CWLAN();
	virtual ~CWLAN();

	BOOL Open (void);
	void Close (void);
	int GetSignalStrength (void);		// 0 (weakest) to 5 (strongest)
	BOOL GetAdapterStatus (ADAPTER_STATUS *pstatus);

private:
	HMODULE hFusionModule;
	LPFN_OPEN_FUSION_API lpfnOpenFusion;
	LPFN_CLOSE_FUSION_API lpfnCloseFusion;
	LPFN_COMMAND_FUSION_API lpfnCommandFusion;
	DWORD dwFusionContext;
	DWORD dwAdapterHandle;
	BYTE bMacAddress [6];
	ULONG ulAdaptersInfoSize;
};

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
rhodes-7.6.0 lib/commonAPI/indicators/ext/platform/wm/src/WLAN.h
rhodes-7.5.1 lib/commonAPI/indicators/ext/platform/wm/src/WLAN.h
rhodes-7.4.1 lib/commonAPI/indicators/ext/platform/wm/src/WLAN.h
rhodes-7.1.17 lib/commonAPI/indicators/ext/platform/wm/src/WLAN.h
rhodes-6.2.0 lib/commonAPI/indicators/ext/platform/wm/src/WLAN.h
rhodes-6.0.11 lib/commonAPI/indicators/ext/platform/wm/src/WLAN.h
rhodes-5.5.18 lib/commonAPI/indicators/ext/platform/wm/src/WLAN.h
rhodes-5.5.17 lib/commonAPI/indicators/ext/platform/wm/src/WLAN.h
rhodes-5.5.15 lib/commonAPI/indicators/ext/platform/wm/src/WLAN.h
rhodes-5.5.0.22 lib/commonAPI/indicators/ext/platform/wm/src/WLAN.h
rhodes-5.5.2 lib/commonAPI/indicators/ext/platform/wm/src/WLAN.h
rhodes-5.5.0.7 lib/commonAPI/indicators/ext/platform/wm/src/WLAN.h
rhodes-5.5.0.3 lib/commonAPI/indicators/ext/platform/wm/src/WLAN.h
rhodes-5.5.0 lib/commonAPI/indicators/ext/platform/wm/src/WLAN.h