Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/******************************************************************************
Copyright (c) 2000 Microsoft Corporation
Module Name: HelpSet.cpp
Abstract: This file contains the implementation of the Taxonomy::HelpSet class, that is used as an identifier for the set of Help files to operate upon.
Revision History: Davide Massarenti (Dmassare) 11/25/2000 created
******************************************************************************/
#include "stdafx.h"
////////////////////////////////////////////////////////////////////////////////
MPC::wstring Taxonomy::HelpSet::m_strSKU_Machine; long Taxonomy::HelpSet::m_lLCID_Machine;
////////////////////
HRESULT Taxonomy::HelpSet::SetMachineInfo( /*[in]*/ const InstanceBase& inst ) { m_strSKU_Machine = inst.m_ths.m_strSKU; m_lLCID_Machine = inst.m_ths.m_lLCID;
return S_OK; }
DWORD Taxonomy::HelpSet::GetMachineLCID() { return ::GetSystemDefaultLCID(); }
DWORD Taxonomy::HelpSet::GetUserLCID() { return MAKELCID( ::GetUserDefaultUILanguage(), SORTIDFROMLCID( GetMachineLCID() ) ); }
void Taxonomy::HelpSet::GetLCIDDisplayString( /*[in]*/ long lLCID, /*[out]*/ MPC::wstring& str ) { WCHAR rgTmp[256];
if(::GetLocaleInfoW( lLCID, LOCALE_SLANGUAGE, rgTmp, MAXSTRLEN(rgTmp) )) { str = rgTmp; } }
////////////////////
Taxonomy::HelpSet::HelpSet( /*[in]*/ LPCWSTR szSKU , /*[in]*/ long lLCID ) { (void)Initialize( szSKU, lLCID ); }
Taxonomy::HelpSet::HelpSet( /*[in]*/ const HelpSet& ths ) { *this = ths; }
Taxonomy::HelpSet& Taxonomy::HelpSet::operator=( /*[in]*/ const HelpSet& ths ) { m_strSKU = ths.m_strSKU; m_lLCID = ths.m_lLCID ;
return *this; }
////////////////////
HRESULT Taxonomy::HelpSet::Initialize( /*[in]*/ LPCWSTR szSKU , /*[in]*/ long lLCID ) { m_strSKU = STRINGISPRESENT(szSKU) ? szSKU : m_strSKU_Machine.c_str(); m_lLCID = lLCID ? lLCID : m_lLCID_Machine;
return S_OK; }
HRESULT Taxonomy::HelpSet::Initialize( /*[in]*/ LPCWSTR szSKU , /*[in]*/ LPCWSTR szLanguage ) { return Initialize( szSKU, STRINGISPRESENT(szLanguage) ? _wtol( szLanguage ) : 0 ); }
////////////////////
bool Taxonomy::HelpSet::IsMachineHelp() const { return !_wcsicmp( GetSKU () , GetMachineSKU () ) && GetLanguage() == GetMachineLanguage() ; }
////////////////////
bool Taxonomy::HelpSet::operator==( /*[in]*/ const HelpSet& sel ) const { return !_wcsicmp( GetSKU () , sel.GetSKU () ) && GetLanguage() == sel.GetLanguage() ; }
bool Taxonomy::HelpSet::operator<( /*[in]*/ const HelpSet& sel ) const { int iCmp = _wcsicmp( GetSKU(), sel.GetSKU() );
if(iCmp == 0) { iCmp = (int)(GetLanguage() - sel.GetLanguage()); }
return (iCmp < 0); }
HRESULT Taxonomy::operator>>( /*[in]*/ MPC::Serializer& stream, /*[out]*/ Taxonomy::HelpSet& val ) { HRESULT hr;
if(SUCCEEDED(hr = (stream >> val.m_strSKU)) && SUCCEEDED(hr = (stream >> val.m_lLCID )) ) { hr = S_OK; }
return hr; }
HRESULT Taxonomy::operator<<( /*[in]*/ MPC::Serializer& stream, /*[in] */ const Taxonomy::HelpSet& val ) { HRESULT hr;
if(SUCCEEDED(hr = (stream << val.m_strSKU)) && SUCCEEDED(hr = (stream << val.m_lLCID )) ) { hr = S_OK; }
return hr; }
|