SOL9 2.0 Class: SWbemPrivilege

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

Source code

/*
 * SWbemPrivilege.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 SWbemPrivilege : public SWbemBaseObject {
    
public:
    SWbemPrivilege(IDispatch* pDisp=NULL)
    :SWbemBaseObject(pDisp)
    {

    }

public:
    ISWbemPrivilege* get()
    {
        return (ISWbemPrivilege*)getIDispatch();
    }

public:
    SWbemPrivilege& operator=(ISWbemPrivilege* pDisp)
    { 
        set(pDisp);
        return *this;
    }

public:
    bool getIsEnabled()
    {
        HRESULT hr = E_FAIL;
        ISWbemPrivilege* privilege = get();
        VARIANT_BOOL bIsEnabled = VARIANT_FALSE;

        if (FAILED(hr = privilege -> get_IsEnabled( 
            &bIsEnabled))) {
            throw Exception(E_FAIL, "%s: %s", "E_FAIL",__FUNCTION__);
        }
    
        return toBool(bIsEnabled);
    }        
                

public:
    HRESULT putIsEnabled( 
            __in bool bIsEnabled)
    {
        HRESULT hr = E_FAIL;
        ISWbemPrivilege* privilege = get();

        if (FAILED(hr = privilege -> put_IsEnabled( 
            toVariantBool(bIsEnabled) ))) {

            throw Exception(E_FAIL, "%s: %s", "E_FAIL",__FUNCTION__);
        }
        return hr;
    }        
        

public:
    _bstr_t getName()
    {
        HRESULT hr = E_FAIL;
        ISWbemPrivilege* privilege = get();
        BSTR strDisplayName = NULL;

        if (FAILED(hr = privilege -> get_Name( 
            &strDisplayName))) {
            throw Exception(E_FAIL, "%s: %s", "E_FAIL",__FUNCTION__);
        }
        return _bstr_t(strDisplayName, false);
    }        

public:
    _bstr_t getDisplayName()
    {
        HRESULT hr = E_FAIL;
        ISWbemPrivilege* privilege = get();
        BSTR strDisplayName = NULL;

        if (FAILED(hr = privilege -> get_DisplayName( 
            &strDisplayName))) {

            throw Exception(E_FAIL, "%s: %s", "E_FAIL",__FUNCTION__);
        }
        return _bstr_t(strDisplayName, false);
    }        
        

public:
    WbemPrivilegeEnum getIdentifier()
    {
        HRESULT hr = E_FAIL;
        ISWbemPrivilege* privilege = get();
        WbemPrivilegeEnum iPrivilege;

        if (FAILED(hr = privilege -> get_Identifier( 
            &iPrivilege))) {
            throw Exception(E_FAIL, "%s: %s", "E_FAIL",__FUNCTION__);
        }
        return iPrivilege;
    }            


public:
    void write(Writer& writer)
    {
        _bstr_t name        = getName();

        writer.writeln(L"<Privilege>");
        try {
            _bstr_t displayName = getDisplayName();
            bool isEnabled = getIsEnabled();
            WbemPrivilegeEnum id = getIdentifier();
            writer.writeln(L"<Name>%s</Name>", (const wchar_t*)name);
            
            //printf("Name=%S\n", (const wchar_t*)name);
            writer.writeln(L"<DisplayName>%s</DisplayName>", (const wchar_t*)displayName);
            writer.writeln(L"<Identifier>%d</Identifier>", id);
            writer.writeln(L"<IsEnabled>%d</IsEnabled>", isEnabled);
        } catch(...) {

        }
        writer.writeln(L"</Privilege>");

    }
};

}

Last modified: 1 Apr 2012

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