mirror of https://github.com/tongzx/nt5src
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.
170 lines
2.8 KiB
170 lines
2.8 KiB
#pragma once
|
|
|
|
#include "Error.h"
|
|
|
|
|
|
//---------------------------------------------------------------------------
|
|
// VarSet Class
|
|
//---------------------------------------------------------------------------
|
|
|
|
|
|
class CVarSet
|
|
{
|
|
public:
|
|
|
|
CVarSet() :
|
|
m_sp(__uuidof(VarSet)),
|
|
m_vntYes(GET_STRING(IDS_YES)),
|
|
m_vntNo(GET_STRING(IDS_No))
|
|
{
|
|
}
|
|
|
|
CVarSet(const CVarSet& r) :
|
|
m_sp(r.m_sp),
|
|
m_vntYes(r.m_vntYes),
|
|
m_vntNo(r.m_vntNo)
|
|
{
|
|
}
|
|
|
|
//
|
|
|
|
IVarSetPtr GetInterface()
|
|
{
|
|
return m_sp;
|
|
}
|
|
|
|
//
|
|
|
|
void Put(UINT uId, bool bValue)
|
|
{
|
|
m_sp->put(GET_BSTR(uId), bValue ? m_vntYes : m_vntNo);
|
|
}
|
|
|
|
void Put(UINT uId, long lValue)
|
|
{
|
|
m_sp->put(GET_BSTR(uId), _variant_t(lValue));
|
|
}
|
|
|
|
void Put(UINT uId, LPCTSTR pszValue)
|
|
{
|
|
m_sp->put(GET_BSTR(uId), _variant_t(pszValue));
|
|
}
|
|
|
|
void Put(UINT uId, _bstr_t strValue)
|
|
{
|
|
m_sp->put(GET_BSTR(uId), _variant_t(strValue));
|
|
}
|
|
|
|
void Put(UINT uId, const _variant_t& vntValue)
|
|
{
|
|
m_sp->put(GET_BSTR(uId), vntValue);
|
|
}
|
|
|
|
//
|
|
|
|
void Put(LPCTSTR pszName, bool bValue)
|
|
{
|
|
m_sp->put(_bstr_t(pszName), bValue ? m_vntYes : m_vntNo);
|
|
}
|
|
|
|
void Put(LPCTSTR pszName, long lValue)
|
|
{
|
|
m_sp->put(_bstr_t(pszName), _variant_t(lValue));
|
|
}
|
|
|
|
void Put(LPCTSTR pszName, LPCTSTR pszValue)
|
|
{
|
|
m_sp->put(_bstr_t(pszName), _variant_t(pszValue));
|
|
}
|
|
|
|
void Put(LPCTSTR pszName, _bstr_t strValue)
|
|
{
|
|
m_sp->put(_bstr_t(pszName), _variant_t(strValue));
|
|
}
|
|
|
|
void Put(LPCTSTR pszName, const _variant_t& vntValue)
|
|
{
|
|
m_sp->put(_bstr_t(pszName), vntValue);
|
|
}
|
|
|
|
//
|
|
|
|
void Put(LPCTSTR pszFormat, long lIndex, bool bValue)
|
|
{
|
|
_TCHAR szName[256];
|
|
_stprintf(szName, pszFormat, lIndex);
|
|
m_sp->put(_bstr_t(szName), bValue ? m_vntYes : m_vntNo);
|
|
}
|
|
|
|
void Put(LPCTSTR pszFormat, long lIndex, long lValue)
|
|
{
|
|
_TCHAR szName[256];
|
|
_stprintf(szName, pszFormat, lIndex);
|
|
m_sp->put(_bstr_t(szName), _variant_t(lValue));
|
|
}
|
|
|
|
void Put(LPCTSTR pszFormat, long lIndex, LPCTSTR pszValue)
|
|
{
|
|
_TCHAR szName[256];
|
|
_stprintf(szName, pszFormat, lIndex);
|
|
m_sp->put(_bstr_t(szName), _variant_t(pszValue));
|
|
}
|
|
|
|
//
|
|
|
|
_variant_t Get(UINT uId)
|
|
{
|
|
return m_sp->get(GET_BSTR(uId));
|
|
}
|
|
|
|
//
|
|
|
|
_variant_t Get(LPCTSTR pszName)
|
|
{
|
|
return m_sp->get(_bstr_t(pszName));
|
|
}
|
|
|
|
bool GetBool(LPCTSTR pszName)
|
|
{
|
|
bool bValue = false;
|
|
|
|
_variant_t vnt = m_sp->get(_bstr_t(pszName));
|
|
|
|
if (vnt == m_vntYes)
|
|
{
|
|
bValue = true;
|
|
}
|
|
|
|
return bValue;
|
|
}
|
|
|
|
//
|
|
|
|
_variant_t Get(LPCTSTR pszFormat, long lIndex)
|
|
{
|
|
_TCHAR szName[256];
|
|
_stprintf(szName, pszFormat, lIndex);
|
|
return m_sp->get(_bstr_t(szName));
|
|
}
|
|
|
|
bool GetBool(LPCTSTR pszFormat, long lIndex)
|
|
{
|
|
_TCHAR szName[256];
|
|
_stprintf(szName, pszFormat, lIndex);
|
|
return GetBool(szName);
|
|
}
|
|
|
|
//
|
|
|
|
void Dump(LPCTSTR pszFile = _T("\\VarSetDump.txt"))
|
|
{
|
|
m_sp->DumpToFile(pszFile);
|
|
}
|
|
|
|
protected:
|
|
|
|
IVarSetPtr m_sp;
|
|
|
|
_variant_t m_vntYes;
|
|
_variant_t m_vntNo;
|
|
};
|