diff options
| author | Adam Shapiro <[email protected]> | 2016-02-04 12:57:08 -0800 |
|---|---|---|
| committer | Adam Shapiro <[email protected]> | 2016-02-04 12:57:08 -0800 |
| commit | 921231effe018f3939f5b67fc7e44560aa6f3998 (patch) | |
| tree | 8b9b459a02222a9ce98a89bd6956eb8beb2757d9 /network/wlan/ihvsampleui/IHVSampleProfile.cpp | |
| parent | c4ba9c629505328d040d318a6193b966d7dbc800 (diff) | |
Moved Native WIFI IHV Service Sample
Moves sample to unique folder, in order to add another WIFI sample
GitHub repository
Diffstat (limited to 'network/wlan/ihvsampleui/IHVSampleProfile.cpp')
| -rw-r--r-- | network/wlan/ihvsampleui/IHVSampleProfile.cpp | 918 |
1 files changed, 0 insertions, 918 deletions
diff --git a/network/wlan/ihvsampleui/IHVSampleProfile.cpp b/network/wlan/ihvsampleui/IHVSampleProfile.cpp deleted file mode 100644 index d4b0b060..00000000 --- a/network/wlan/ihvsampleui/IHVSampleProfile.cpp +++ /dev/null @@ -1,918 +0,0 @@ -// -// Copyright (C) Microsoft Corporation 2005 -// IHV UI Extension sample -// - -#include "precomp.h" - -HRESULT -CIhvProfileBase::GetTextFromNode -( - IN LPCWSTR pszQuery, - OUT BSTR* pbstrText -) -{ - HRESULT hr = S_OK; - BSTR bstrQuery = NULL; - IXMLDOMNode* pQueryNode = NULL; - - if ( !m_pRootNode ) - { - hr = E_UNEXPECTED; - BAIL_ON_FAILURE( hr ); - } - - if ( (!pszQuery) || (!pbstrText) ) - { - hr = E_INVALIDARG; - BAIL_ON_FAILURE( hr ); - } - - hr = - Wstr2Bstr - ( - pszQuery, - &bstrQuery - ); - BAIL_ON_FAILURE( hr ); - - hr = m_pRootNode->selectSingleNode( bstrQuery, &pQueryNode ); - BAIL_ON_FAILURE( hr ); - - if (!pQueryNode) - { - hr = E_UNEXPECTED; - BAIL_ON_FAILURE( hr ); - } - - hr = pQueryNode->get_text( pbstrText ); - BAIL_ON_FAILURE( hr ); - - if ( !(*pbstrText) ) - { - hr = E_UNEXPECTED; - BAIL_ON_FAILURE( hr ); - } - -error: - RELEASE_INTERFACE( pQueryNode ); - SYS_FREE_STRING( bstrQuery ); - return hr; -} - - -HRESULT -CIhvProfileBase::PutTextInNode -( - IN LPCWSTR pszQuery, - IN BSTR bstrText -) -{ - HRESULT hr = S_OK; - BSTR bstrQuery = NULL; - BSTR bstrOrig = NULL; - BOOL bPut = TRUE; - IXMLDOMNode* pQueryNode = NULL; - - if ( !m_pRootNode ) - { - hr = E_UNEXPECTED; - BAIL_ON_FAILURE( hr ); - } - - if ( (!pszQuery) || (!bstrText) ) - { - hr = E_INVALIDARG; - BAIL_ON_FAILURE( hr ); - } - - hr = - Wstr2Bstr - ( - pszQuery, - &bstrQuery - ); - BAIL_ON_FAILURE( hr ); - - hr = m_pRootNode->selectSingleNode( bstrQuery, &pQueryNode ); - BAIL_ON_FAILURE( hr ); - - if (!pQueryNode) - { - hr = E_UNEXPECTED; - BAIL_ON_FAILURE( hr ); - } - - hr = pQueryNode->get_text( &bstrOrig ); - BAIL_ON_FAILURE( hr ); - - if ( bstrOrig && ( 0 == wcscmp( bstrOrig, bstrText ) ) ) - { - bPut = FALSE; - } - - if ( bPut ) - { - hr = pQueryNode->put_text( bstrText ); - BAIL_ON_FAILURE( hr ); - - SetModified( ); - } - -error: - RELEASE_INTERFACE( pQueryNode ); - SYS_FREE_STRING( bstrQuery ); - SYS_FREE_STRING( bstrOrig ); - return hr; -} - - -HRESULT -CIhvProfileBase::LoadXml -( - IN BSTR bstrProfileData -) -{ - HRESULT hr = S_OK; - IXMLDOMDocument* pDOMDoc = NULL; - IXMLDOMElement* pDocElem = NULL; - BSTR bstrIhvProfile = NULL; - VARIANT_BOOL vfSuccess; - - if ( !bstrProfileData ) - { - hr = GetDefaultXml( &bstrIhvProfile ); - BAIL_ON_FAILURE( hr ); - } - else - { - bstrIhvProfile = bstrProfileData; - } - - if ( m_pRootNode ) - { - hr = E_UNEXPECTED; - BAIL_ON_FAILURE( hr ); - } - - hr = - CoCreateInstance - ( - CLSID_DOMDocument, - NULL, - CLSCTX_ALL, - IID_IXMLDOMDocument, - (LPVOID *) &pDOMDoc - ); - BAIL_ON_FAILURE( hr ); - - hr = - pDOMDoc->loadXML - ( - bstrIhvProfile, - &vfSuccess - ); - BAIL_ON_FAILURE( hr ); - - if ( VARIANT_TRUE != vfSuccess ) - { - hr = E_UNEXPECTED; - BAIL_ON_FAILURE( hr ); - } - - hr = - pDOMDoc->get_documentElement - ( - &pDocElem - ); - BAIL_ON_FAILURE( hr ); - - // Caching the pointer to the document element - // in a member variable. - m_pRootNode = pDocElem; - pDocElem = NULL; - - -error: - if ( !bstrProfileData ) - { - SYS_FREE_STRING( bstrIhvProfile ); - } - RELEASE_INTERFACE( pDOMDoc ); - RELEASE_INTERFACE( pDocElem ); - return hr; -} - - -HRESULT -CIhvProfileBase::EmitXml -( - OUT BSTR* pbstrIhvProfile -) -{ - HRESULT hr = S_OK; - - if ( !pbstrIhvProfile ) - { - hr = E_INVALIDARG; - BAIL_ON_FAILURE( hr ); - } - - if ( !m_pRootNode ) - { - hr = E_UNEXPECTED; - BAIL_ON_FAILURE( hr ); - } - - hr = m_pRootNode->get_xml( pbstrIhvProfile ); - BAIL_ON_FAILURE( hr ); - -error: - return hr; -} - - -////////////////////////////////////////////////////////// - -WCHAR g_szDefaultConnectivityProfile[] = -L"<IhvConnectivity xmlns=\"http://www.sampleihv.com/nwifi/profile\">" -L" <IHVConnectivityParam1>0</IHVConnectivityParam1>" -L" <IHVConnectivityParam2>parameter value</IHVConnectivityParam2>" -L"</IhvConnectivity>" -; - - - -HRESULT -CIhvConnectivityProfile::GetDefaultXml -( - BSTR* pbstrDefault -) -{ - SetModified(); - return Wstr2Bstr( g_szDefaultConnectivityProfile, pbstrDefault ); -} - - - -HRESULT -CIhvConnectivityProfile::GetParamDWORD -( - DWORD* pdwParam1 -) -{ - HRESULT hr = S_OK; - BSTR bstrData = NULL; - - hr = - GetTextFromNode - ( - CON_PARAM2_XPATH, - &bstrData - ); - BAIL_ON_FAILURE( hr ); - - hr = - Wstr2Dword - ( - bstrData, - pdwParam1 - ); - BAIL_ON_FAILURE( hr ); - -error: - SYS_FREE_STRING( bstrData ); - return hr; -} - - -HRESULT -CIhvConnectivityProfile::SetParamDWORD -( - DWORD dwNewValue -) -{ - HRESULT hr = S_OK; - BSTR bstrText = NULL; - - hr = - Dword2Bstr - ( - dwNewValue, - &bstrText - ); - BAIL_ON_FAILURE( hr ); - - hr = - PutTextInNode - ( - CON_PARAM2_XPATH, - bstrText - ); - BAIL_ON_FAILURE( hr ); - -error: - SYS_FREE_STRING( bstrText ); - return hr; -} - - - -HRESULT -CIhvConnectivityProfile::GetParamBSTR -( - BSTR* pbstrValue -) -{ - HRESULT hr = S_OK; - - hr = - GetTextFromNode - ( - CON_PARAM1_XPATH, - pbstrValue - ); - BAIL_ON_FAILURE( hr ); - - -error: - return hr; -} - - - -HRESULT -CIhvConnectivityProfile::SetParamBSTR -( - BSTR bstrNewValue -) -{ - HRESULT hr = S_OK; - - hr = - PutTextInNode - ( - CON_PARAM1_XPATH, - bstrNewValue - ); - BAIL_ON_FAILURE( hr ); - - -error: - return hr; -} - -HRESULT -CIhvConnectivityProfile::GetNativeData -( - LPVOID* ppvData -) -{ - HRESULT hr = S_OK; - PIHV_CONNECTIVITY_PROFILE pIhvProfile = NULL; - BSTR bstrParam2 = NULL; - - if ( !ppvData ) - { - hr = E_INVALIDARG; - BAIL_ON_FAILURE( hr ); - } - - pIhvProfile = (PIHV_CONNECTIVITY_PROFILE) malloc( sizeof( IHV_CONNECTIVITY_PROFILE ) ); - if ( !pIhvProfile ) - { - hr = E_OUTOFMEMORY; - BAIL_ON_FAILURE( hr ); - } - ZeroMemory( pIhvProfile, sizeof( IHV_CONNECTIVITY_PROFILE ) ); - - hr = - GetParamBSTR - ( - &bstrParam2 - ); - BAIL_ON_FAILURE( hr ); - - if ( NULL == bstrParam2 ) { - hr = E_POINTER; - BAIL_ON_FAILURE( hr ); - } - - hr = - Wstr2Wstr - ( - bstrParam2, - &(pIhvProfile->pszParam2) - ); - BAIL_ON_FAILURE( hr ); - - hr = - GetParamDWORD - ( - &(pIhvProfile->dwParam1) - ); - BAIL_ON_FAILURE( hr ); - - // Transfering local cache to OUT parameter. - (*ppvData) = pIhvProfile; - pIhvProfile = NULL; - -error: - if ( pIhvProfile ) - { - free( pIhvProfile->pszParam2 ); // NULL Safe. - free( pIhvProfile ); - } - SYS_FREE_STRING( bstrParam2 ); - return hr; -} - - - -/////////////////////////////////////////// - -LPCWSTR gppszIhvAuthTypes[] = -{ - L"IHVAuthV1", - L"IHVAuthV2", - L"IHVAuthV3" -}; - -LPCWSTR gppszIhvSecurityTypes[] = -{ - L"IHVSecurityV1", - L"IHVSecurityV2", -}; - -LPCWSTR gppszIhvCipherTypes[] = -{ - L"None", - L"IHVCipher1", - L"IHVCipher2", - L"IHVCipher3" -}; - - -WCHAR g_szDefaultSecurityProfile[] = -L"<IhvSecurity xmlns=\"http://www.sampleihv.com/nwifi/profile\">" -L" <IHVUsesFullSecurity>TRUE</IHVUsesFullSecurity>" -L" <IHVAuthentication>IHVAuthV1</IHVAuthentication>" -L" <IHVEncryption>IHVCipher1</IHVEncryption>" -L" <IHVSecurityParam1>0</IHVSecurityParam1>" -L" <IHVSecurityParam2>parameter value</IHVSecurityParam2>" -L"</IhvSecurity>"; - - - -HRESULT -CIhvSecurityProfile::GetDefaultXml -( - BSTR* pbstrDefault -) -{ - SetModified(); - return Wstr2Bstr( g_szDefaultSecurityProfile, pbstrDefault ); -} - -HRESULT -CIhvSecurityProfile::GetNativeData -( - LPVOID* ppvData -) -{ - HRESULT hr = S_OK; - PIHV_SECURITY_PROFILE pIhvProfile = NULL; - BSTR bstrParam2 = NULL; - - if ( !ppvData ) - { - hr = E_INVALIDARG; - BAIL_ON_FAILURE( hr ); - } - - pIhvProfile = (PIHV_SECURITY_PROFILE) malloc( sizeof( IHV_SECURITY_PROFILE ) ); - if ( !pIhvProfile ) - { - hr = E_OUTOFMEMORY; - BAIL_ON_FAILURE( hr ); - } - ZeroMemory( pIhvProfile, sizeof( IHV_SECURITY_PROFILE ) ); - - hr = - GetFullSecurityFlag - ( - &(pIhvProfile->bUseFullSecurity) - ); - BAIL_ON_FAILURE( hr ); - - hr = - GetAuthType - ( - &(pIhvProfile->AuthType) - ); - BAIL_ON_FAILURE( hr ); - - hr = - GetCipherType - ( - &(pIhvProfile->CipherType) - ); - BAIL_ON_FAILURE( hr ); - - hr = - GetParamDWORD - ( - &(pIhvProfile->dwParam1) - ); - BAIL_ON_FAILURE( hr ); - - hr = - GetParamBSTR - ( - &bstrParam2 - ); - BAIL_ON_FAILURE( hr ); - - if ( NULL == bstrParam2 ) { - hr = E_POINTER; - BAIL_ON_FAILURE( hr ); - } - - hr = - Wstr2Wstr - ( - bstrParam2, - &(pIhvProfile->pszParam2) - ); - BAIL_ON_FAILURE( hr ); - - // Transfering local cache to OUT parameter. - (*ppvData) = pIhvProfile; - pIhvProfile = NULL; - -error: - if ( pIhvProfile ) - { - free( pIhvProfile->pszParam2 ); // NULL Safe. - free( pIhvProfile ); - } - SYS_FREE_STRING( bstrParam2 ); - return hr; - -} - - - -HRESULT -CIhvSecurityProfile::GetFullSecurityFlag -( - BOOL* pbUseFullSecurity -) -{ - HRESULT hr = S_OK; - BSTR bstrData = NULL; - - hr = - GetTextFromNode - ( - SEC_FSFLAG_XPATH, - &bstrData - ); - BAIL_ON_FAILURE( hr ); - - hr = - Wstr2Bool - ( - bstrData, - pbUseFullSecurity - ); - BAIL_ON_FAILURE( hr ); - -error: - SYS_FREE_STRING( bstrData ); - return hr; -} - - -HRESULT -CIhvSecurityProfile::SetFullSecurityFlag -( - BOOL bUseFullSecurity -) -{ - HRESULT hr = S_OK; - BSTR bstrText = NULL; - - hr = - Bool2Bstr - ( - bUseFullSecurity, - &bstrText - ); - BAIL_ON_FAILURE( hr ); - - hr = - PutTextInNode - ( - SEC_FSFLAG_XPATH, - bstrText - ); - BAIL_ON_FAILURE( hr ); - -error: - SYS_FREE_STRING( bstrText ); - return hr; -} - - - -HRESULT -CIhvSecurityProfile::GetAuthType -( - PIHV_AUTH_TYPE pAuthType -) -{ - HRESULT hr = S_OK; - BSTR bstrData = NULL; - - hr = - GetTextFromNode - ( - SEC_ATYPE_XPATH, - &bstrData - ); - BAIL_ON_FAILURE( hr ); - - hr = - Wstr2AuthType - ( - bstrData, - pAuthType - ); - BAIL_ON_FAILURE( hr ); - -error: - SYS_FREE_STRING( bstrData ); - return hr; -} - - -HRESULT -CIhvSecurityProfile::SetAuthType -( - IHV_AUTH_TYPE AuthType -) -{ - HRESULT hr = S_OK; - BSTR bstrText = NULL; - - hr = - AuthType2Bstr - ( - AuthType, - &bstrText - ); - BAIL_ON_FAILURE( hr ); - - hr = - PutTextInNode - ( - SEC_ATYPE_XPATH, - bstrText - ); - BAIL_ON_FAILURE( hr ); - -error: - SYS_FREE_STRING( bstrText ); - return hr; -} - - -HRESULT -CIhvSecurityProfile::GetSecurityType -( - PIHV_SECURITY_TYPE pSecurityType -) -{ - HRESULT hr = S_OK; - BSTR bstrData = NULL; - - hr = - GetTextFromNode - ( - SEC_ATYPE_XPATH, - &bstrData - ); - BAIL_ON_FAILURE( hr ); - - hr = - Wstr2SecurityType - ( - bstrData, - pSecurityType - ); - BAIL_ON_FAILURE( hr ); - -error: - SYS_FREE_STRING( bstrData ); - return hr; -} - -HRESULT -CIhvSecurityProfile::SetSecurityType -( - IHV_SECURITY_TYPE SecurityType -) -{ - HRESULT hr = S_OK; - BSTR bstrText = NULL; - - hr = - SecurityType2Bstr - ( - SecurityType, - &bstrText - ); - BAIL_ON_FAILURE( hr ); - - hr = - PutTextInNode - ( - SEC_ATYPE_XPATH, - bstrText - ); - BAIL_ON_FAILURE( hr ); - -error: - SYS_FREE_STRING( bstrText ); - return hr; -} - - -HRESULT -CIhvSecurityProfile::GetCipherType -( - PIHV_CIPHER_TYPE pCipherType -) -{ - HRESULT hr = S_OK; - BSTR bstrData = NULL; - - hr = - GetTextFromNode - ( - SEC_ETYPE_XPATH, - &bstrData - ); - BAIL_ON_FAILURE( hr ); - - hr = - Wstr2CipherType - ( - bstrData, - pCipherType - ); - BAIL_ON_FAILURE( hr ); - -error: - SYS_FREE_STRING( bstrData ); - return hr; -} - - -HRESULT -CIhvSecurityProfile::SetCipherType -( - IHV_CIPHER_TYPE CipherType -) -{ - HRESULT hr = S_OK; - BSTR bstrText = NULL; - - hr = - CipherType2Bstr - ( - CipherType, - &bstrText - ); - BAIL_ON_FAILURE( hr ); - - hr = - PutTextInNode - ( - SEC_ETYPE_XPATH, - bstrText - ); - BAIL_ON_FAILURE( hr ); - -error: - SYS_FREE_STRING( bstrText ); - return hr; -} - - -HRESULT -CIhvSecurityProfile::GetParamDWORD -( - DWORD* pdwParam1 -) -{ - HRESULT hr = S_OK; - BSTR bstrData = NULL; - - hr = - GetTextFromNode - ( - SEC_PARAM2_XPATH, - &bstrData - ); - BAIL_ON_FAILURE( hr ); - - hr = - Wstr2Dword - ( - bstrData, - pdwParam1 - ); - BAIL_ON_FAILURE( hr ); - -error: - SYS_FREE_STRING( bstrData ); - return hr; -} - - -HRESULT -CIhvSecurityProfile::SetParamDWORD -( - DWORD dwNewValue -) -{ - HRESULT hr = S_OK; - BSTR bstrText = NULL; - - hr = - Dword2Bstr - ( - dwNewValue, - &bstrText - ); - BAIL_ON_FAILURE( hr ); - - hr = - PutTextInNode - ( - SEC_PARAM2_XPATH, - bstrText - ); - BAIL_ON_FAILURE( hr ); - -error: - SYS_FREE_STRING( bstrText ); - return hr; -} - - - -HRESULT -CIhvSecurityProfile::GetParamBSTR -( - BSTR* pbstrValue -) -{ - HRESULT hr = S_OK; - - hr = - GetTextFromNode - ( - SEC_PARAM1_XPATH, - pbstrValue - ); - BAIL_ON_FAILURE( hr ); - - -error: - return hr; -} - - -HRESULT -CIhvSecurityProfile::SetParamBSTR -( - BSTR bstrNewValue -) -{ - HRESULT hr = S_OK; - - hr = - PutTextInNode - ( - SEC_PARAM1_XPATH, - bstrNewValue - ); - BAIL_ON_FAILURE( hr ); - - -error: - return hr; -} |
