|
|
#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; };
|