/*
* SWbemRefreshableItem.h
* Copyright (c) 2012 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED.
*/
// 2012/03/08 Updated.
#pragma once
#include <sol/wmi/SWbemBaseObject.h>
namespace SOL {
class SWbemRefreshableItem : public SWbemBaseObject {
public:
SWbemRefreshableItem(IDispatch* pDisp=NULL)
:SWbemBaseObject(pDisp)
{
}
public:
ISWbemRefreshableItem* get()
{
return (ISWbemRefreshableItem*)getIDispatch();
}
public:
SWbemRefreshableItem& operator=(ISWbemRefreshableItem* pDisp)
{
set(pDisp);
return *this;
}
public:
long getIndex()
{
long index = 0;
HRESULT hr = E_FAIL;
ISWbemRefreshableItem* refreshable = get();
if (FAILED(hr = refreshable -> get_Index(
&index))) {
throw Exception(E_FAIL, "%s: %s", "E_FAIL",__FUNCTION__);
}
return index;
}
public:
ISWbemRefresher* getRefresher()
{
ISWbemRefresher* pObjWbemRefresher = NULL;
HRESULT hr = E_FAIL;
ISWbemRefreshableItem* refreshable = get();
if (FAILED(hr = refreshable -> get_Refresher(
&pObjWbemRefresher))) {
throw Exception(E_FAIL, "%s: %s", "E_FAIL",__FUNCTION__);
}
return pObjWbemRefresher;
}
public:
bool getIsSet()
{
VARIANT_BOOL vbool;
HRESULT hr = E_FAIL;
ISWbemRefreshableItem* refreshable = get();
if (FAILED(hr = refreshable -> get_IsSet(
&vbool))) {
throw Exception(E_FAIL, "%s: %s", "E_FAIL",__FUNCTION__);
}
return toBool(vbool);
}
public:
ISWbemObjectEx* getObject()
{
ISWbemObjectEx* pObjWbemObject = NULL;
HRESULT hr = E_FAIL;
ISWbemRefreshableItem* refreshable = get();
if (FAILED(hr = refreshable -> get_Object(
&pObjWbemObject))) {
throw Exception(E_FAIL, "%s: %s", "E_FAIL",__FUNCTION__);
}
return pObjWbemObject;
}
public:
ISWbemObjectSet* getObjectSet()
{
ISWbemObjectSet* pObjWbemObjectSet = NULL;
HRESULT hr = E_FAIL;
ISWbemRefreshableItem* refreshable = get();
if (FAILED(hr = refreshable -> get_ObjectSet(
&pObjWbemObjectSet))) {
throw Exception(E_FAIL, "%s: %s", "E_FAIL",__FUNCTION__);
}
return pObjWbemObjectSet;
}
public:
HRESULT remove(
__in long iFlags = 0)
{
HRESULT hr = E_FAIL;
ISWbemRefreshableItem* refreshable = get();
if (FAILED(hr = refreshable -> Remove(
iFlags ))) {
throw Exception(E_FAIL, "%s: %s", "E_FAIL",__FUNCTION__);
}
return hr;
}
};
}
|