SOL9 2.0 Class: SWbemNamedValueSet

 SOL9 C++ Class Library  SOL9 Samples  SOL9 Tutorial  SOL9 FAQ  SOL9 ClassTree 

Source code

/*
 * SWbemNamedValueSet.h 
 * Copyright (c) 2012 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */


// 2012/03/08 Updated.

#pragma once

#include <sol/wmi/SWbemBaseObjectSet.h>
namespace SOL {

class SWbemNamedValueSet : public SWbemBaseObjectSet {


public:
    SWbemNamedValueSet(IDispatch* pDisp=NULL)
    :SWbemBaseObjectSet(pDisp)
    {

    }

public:
    ISWbemNamedValueSet* get()
    {
        return (ISWbemNamedValueSet*)getIDispatch();
    }
    
public:
    SWbemNamedValueSet& operator=(ISWbemNamedValueSet* pDisp)
    { 
        set(pDisp);
        return *this;
    }

public:
    IUnknown* get__NewEnum()
    {
        IUnknown* pUnk = NULL;
        HRESULT hr = E_FAIL;
        ISWbemNamedValueSet* set = get();

        if (FAILED(hr = set->get__NewEnum(&pUnk))) {
            throw Exception(E_FAIL, "%s: %s", "E_FAIL",__FUNCTION__);
        }
        return pUnk;
    }
        
public:
    ISWbemNamedValue *item( 
            __in _bstr_t strName,
           __in long iFlags)
    {
        HRESULT hr = E_FAIL;
        ISWbemNamedValueSet* set = get();
        ISWbemNamedValue *objWbemNamedValue = NULL;

        if (FAILED(hr = set->Item( 
            (BSTR)strName,
            iFlags,
            &objWbemNamedValue))) {
            throw Exception(E_FAIL, "%s: %s", "E_FAIL",__FUNCTION__);
        }
        return objWbemNamedValue;
    }


public:
    lonf getCount()
    {
        HRESULT hr = E_FAIL;
        ISWbemNamedValueSet* set = get();
        long iCount = 0;

        if (FAILED(hr = set->get_Count(&iCount))) {
            throw Exception(E_FAIL, "%s: %s", "E_FAIL",__FUNCTION__);
        }
        return iCount;
    }
        
public:
    ISWbemNamedValue *  add( 
            __in _bstr_t strName,
            __in VARIANT *varValue,
           __in long iFlags)
    {
        HRESULT hr = E_FAIL;
        ISWbemNamedValueSet* set = get();
        ISWbemNamedValue *objWbemNamedValue =NULL;

        if (FAILED(hr = set->Add( 
            (BSTR)strName,
            varValue,
            iFlags,
            &objWbemNamedValue))) {
            throw Exception(E_FAIL, "%s: %s", "E_FAIL",__FUNCTION__);
        }
        return objWbemNamedValue;
    }
                

public:
    HRESULT remove( 
            __in _bstr_t strName,
           __in long iFlags = 0)
    {
        HRESULT hr = E_FAIL;
        ISWbemNamedValueSet* set = get();

        if (FAILED(hr = set->Remove( 
            (BSTR)strName,
            iFlags))) {
            throw Exception(E_FAIL, "%s: %s", "E_FAIL",__FUNCTION__);
        }
        return hr;
    }
        

public:
    ISWbemNamedValueSet* clone()
    {
        HRESULT hr = E_FAIL;
        ISWbemNamedValueSet* set = get();
        ISWbemNamedValueSet *objWbemNamedValueSet=NULL;

        if (FAILED(hr = set->Clone( 
            &objWbemNamedValueSet))) {
            throw Exception(E_FAIL, "%s: %s", "E_FAIL",__FUNCTION__);
        }
        return objWbemNamedValueSet;
    }

public:
    HRESULT deleteAll()
    {
        HRESULT hr = E_FAIL;
        ISWbemNamedValueSet* set = get();

        if (FAILED(hr = set->DeleteAll())) {
            throw Exception(E_FAIL, "%s: %s", "E_FAIL",__FUNCTION__);
        }
        return hr;
    }
   
public:
    void write(Writer& writer)
    {
        long c = getCount();

        writer.writeln(L"<NamedValueSet>");
        
        try {
            EnumVariant enumVar = ComObjectSet::getNewEnum();
            IDispatch* pDisp = NULL;
            while (enumVar.next(1, &pDisp) == 1) {
        
                try {
                    SWbemNamedValue namedValue = pDisp;
                    namedValue.write(Writer);
                } catch (...) {
                    break;
                }
            }

        } catch (...) {
            
        }
        reportWriter.writeln(L"</NameValueSet>");

    }
};

}
 

Last modified: 1 Apr 2012

Copyright (c) 2009-2012 Antillia.com ALL RIGHTS RESERVED.