#include "StdAfx.h"
#include "GprsXmlConfig.h"
#include <Cfgmgrapi.h>
#include <connmgr.h>
#pragma comment(lib, "Aygshell.lib")
GprsXmlConfig::GprsXmlConfig(void)
{
}
GprsXmlConfig::~GprsXmlConfig(void)
{
}
BOOL GprsXmlConfig::findCmwapNetGuid(GUID& guid)
{
BOOL rst = FALSE;
HRESULT hr = 0;
int nIndex = 0;
CONNMGR_DESTINATION_INFO DestInfo;
//WCHAR wszDestGUIDStr[128];
while ( (hr = ConnMgrEnumDestinations(nIndex,&DestInfo)) == 0 )
{
if (_tcscmp(_T("CMWAP_GPRS"),DestInfo.szDescription)==0)
{
guid = DestInfo.guid;
rst = TRUE;
break;
}
nIndex++;
}
return rst;
}
BOOL GprsXmlConfig::CreateCmwapNetConfig()
{
LPCWSTR g_wszFavoriteXml =
L"<wap-provisioningdoc>"
L" <characteristic type=\"CM_Networks\">"
L" <characteristic type=\"CMWAP_GPRS\">"
L" <parm name=\"DestId\" value=\"{DD179D19-18EA-1770-D459-FF13BF3A0D88}\"/>"
L" </characteristic>"
L" </characteristic>"
L" <characteristic type=\"CM_GPRSEntries\">"
L" <characteristic type=\"CMWAP_GPRS\">"
L" <parm name=\"DestId\" value=\"{DD179D19-18EA-1770-D459-FF13BF3A0D88}\"/>"
L" <characteristic type=\"DevSpecificCellular\">"
L" <parm name=\"BearerInfoValid\" value=\"1\"/>"
L" <parm name=\"GPRSInfoValid\" value=\"1\"/>"
L" <parm name=\"GPRSInfoProtocolType\" value=\"2\"/>"
L" <parm name=\"GPRSInfoL2ProtocolType\" value=\"PPP\"/>"
L" <parm name=\"GPRSInfoAccessPointName\" value=\"cmwap\"/>"
L" <parm name=\"GPRSInfoAddress\" value=\"\"/>"
L" <parm name=\"GPRSInfoDataCompression\" value=\"1\"/>"
L" <parm name=\"GPRSInfoHeaderCompression\" value=\"1\"/>"
L" <parm name=\"GPRSInfoParameters\" value=\"\"/>"
L" </characteristic>"
L" </characteristic>"
L" </characteristic>"
L" <characteristic type=\"CM_ProxyEntries\">"
L" <characteristic type=\"HTTP\">"
L" <parm name=\"SrcId\" value=\"{DD179D19-18EA-1770-D459-FF13BF3A0D88}\"/>"
L" <parm name=\"DestId\" value=\"{436EF144-B4FB-4863-A041-8F905A62C572}\"/>"
L" <parm name=\"Proxy\" value=\"10.0.0.172:80\"/>"
L" <parm name=\"Enable\" value=\"1\"/>"
L" <parm name=\"Type\" value=\"1\"/>"
L" </characteristic>"
L" </characteristic>"
L" <characteristic type=\"CM_ProxyEntries\">"
L" <characteristic type=\"WAP\">"
L" <parm name=\"SrcId\" value=\"{DD179D19-18EA-1770-D459-FF13BF3A0D88}\"/>"
L" <parm name=\"DestId\" value=\"{7022E968-5A97-4051-BC1C-C578E2FBA5D9}\"/>"
L" <parm name=\"Proxy\" value=\"10.0.0.172:9201\"/>"
L" <parm name=\"Enable\" value=\"1\"/>"
L" <parm name=\"Type\" value=\"2\"/>"
L" </characteristic>"
L" </characteristic>"
L" <characteristic type=\"CM_ProxyEntries\">"
L" <characteristic type=\"CMWAP_GPRS proxy\">"
L" <parm name=\"SrcId\" value=\"{DD179D19-18EA-1770-D459-FF13BF3A0D88}\"/>"
L" <parm name=\"DestId\" value=\"{CF722A35-B995-2CF6-16C6-647CD8D922A7}\"/>"
L" <parm name=\"Proxy\" value=\"10.0.0.172:9201\"/>"
L" <parm name=\"Enable\" value=\"1\"/>"
L" <parm name=\"Type\" value=\"2\"/>"
L" </characteristic>"
L" </characteristic>"
L" <characteristic type=\"CM_Planner\">"
L" <characteristic type=\"PreferredConnections\">"
L" <parm name=\"{436EF144-B4FB-4863-A041-8F905A62C572}\" value=\"CMWAP_GPRS\"/>"
L" <parm name=\"{CF722A35-B995-2CF6-16C6-647CD8D922A7}\" value=\"CMWAP_GPRS\"/>"
L" <parm name=\"{7022E968-5A97-4051-BC1C-C578E2FBA5D9}\" value=\"CMWAP_GPRS\"/>"
L" </characteristic>"
L" </characteristic>"
L"</wap-provisioningdoc>";
HRESULT hr = E_FAIL;
LPWSTR wszOutput = NULL;
// Process the XML.
hr = DMProcessConfigXML(g_wszFavoriteXml, CFGFLAG_PROCESS, &wszOutput);
// The caller must delete the XML returned from DMProcessConfigXML.
delete [] wszOutput;
return (hr==S_OK);
}