#pragma once
// The following ifdef block is the standard way of creating macros which make exporting
// from a DLL simpler. All files within this DLL are compiled with the WPSPROXY_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see
// WPSPROXY_API functions as being imported from a DLL, whereas this DLL sees symbols
// defined with this macro as being exported.
#ifdef WPSPROXY_EXPORTS
#define WPSPROXY_API __declspec(dllexport)
#else
#define WPSPROXY_API __declspec(dllimport)
#endif
#include "wpsapi.h"
typedef WPS_Continuation (*WiFiLocationDelegate)(
WPS_ReturnCode result,
double Latitude,
double Longitude,
double hpe,
int nap,
double speed,
double bearing,
LPWSTR AddressNumber,
LPWSTR AddressLine,
LPWSTR City,
LPWSTR StateName,
LPWSTR StateCode,
LPWSTR PostalCode,
LPWSTR County,
LPWSTR Region,
LPWSTR CountryName,
LPWSTR CountryCode,
LPWSTR Province
);
typedef WPS_Continuation (*TilingDelegate)(
UINT tileNumber,
UINT tileTotal
);
extern "C" WPSPROXY_API void SetProxy( const LPWSTR address, int port, const LPWSTR user, const LPWSTR password);
extern "C" WPSPROXY_API void SetServerUrl(const LPWSTR url);
extern "C" WPSPROXY_API void SetUserAgent(const LPWSTR ua);
extern "C" WPSPROXY_API WPS_ReturnCode SetTier2Area(const LPWSTR dirpath, unsigned size);
extern "C" WPSPROXY_API WPS_ReturnCode RegisterUser(LPWSTR existingUser, LPWSTR existingRealm, LPWSTR newUser, LPWSTR newRealm);
extern "C" WPSPROXY_API WPS_ReturnCode Tiling(LPWSTR dirPath, UINT maxDataPerSession, UINT maxDataSizeTotal, TilingDelegate* callback);
extern "C" WPSPROXY_API WPS_ReturnCode PeriodicLocation(LPWSTR userName, LPWSTR realm, WPS_StreetAddressLookup lookupType, unsigned long period, unsigned long iterations, WiFiLocationDelegate* callback);
extern "C" WPSPROXY_API WPS_ReturnCode SetLocalFilesPath(LPWSTR *path, int pathCount);
extern "C" WPSPROXY_API WPS_ReturnCode GetIPLocation (
LPWSTR userName,
LPWSTR realm,
WPS_StreetAddressLookup lookupType,
double* Latitude,
double* Longitude,
LPWSTR IPAddress,
LPWSTR AddressNumber,
LPWSTR AddressLine,
LPWSTR City,
LPWSTR StateName,
LPWSTR StateCode,
LPWSTR PostalCode,
LPWSTR County,
LPWSTR Region,
LPWSTR CountryName,
LPWSTR CountryCode,
LPWSTR Province
);
extern "C" WPSPROXY_API WPS_ReturnCode GetWiFiLocation(
LPWSTR userName,
LPWSTR realm,
WPS_StreetAddressLookup lookupType,
double* Latitude,
double* Longitude,
double* hpe,
int* nap,
double* speed,
double* bearing,
LPWSTR AddressNumber,
LPWSTR AddressLine,
LPWSTR City,
LPWSTR StateName,
LPWSTR StateCode,
LPWSTR PostalCode,
LPWSTR County,
LPWSTR Region,
LPWSTR CountryName,
LPWSTR CountryCode,
LPWSTR Province
);