SOL9 2.0 Class: ADOXUser

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

Source code

/*
 * ADOXUser.h 
 * Copyright (c) 2011 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */


// SOL9
// 2009/06/02

#pragma once

#include <sol/sql/ADOObject.h>
#include <sol/sql/ADOXGroups.h>

namespace SOL {

class ADOXUser: public ADOObject {

public:
    ADOXUser()
    {
    }

public:
    HRESULT createInstance()
    {
        return ADOObject::createInstance(__uuidof(ADOX::User));
    }

public:
    void set(__in ADOX::_UserPtr pF) 
    {
        setObject((IDispatchPtr)pF);    
    }
public:
    ADOX::_UserPtr getUserPtr()
    {
        return (ADOX::_UserPtr)getObject();
    }
public:
    _bstr_t getName() 
    {    
        return getUserPtr()->GetName();
    }

public:
    void putName(__in _bstr_t pVal)
    {
        getUserPtr()->PutName(pVal);
    }

public:
    ADOX::RightsEnum getPermissions(
        __in const _variant_t& name,
        __in ADOX::ObjectTypeEnum objectType,
        __in_opt const _variant_t& objectTypeId = vtMissing)
    {
        return  getUserPtr()->GetPermissions(
            name,
            objectType,
            objectTypeId);
    }

public:
    HRESULT setPermissions(
        __in const _variant_t& name,
        __in ADOX::ObjectTypeEnum objectType,
        __in ADOX::ActionEnum action,
        __in ADOX::RightsEnum rights,
        __in ADOX::InheritTypeEnum inherit,
        __in_opt const _variant_t& objectTypeId = vtMissing)
    {
        return getUserPtr()->SetPermissions(
            name,
            objectType,
            action,
            rights,
            inherit,
            objectTypeId);
    }

public:
    HRESULT changePassword(
        __in _bstr_t oldPassword,
        __in _bstr_t newPassword)
    {
        return getUserPtr()->ChangePassword(
            oldPassword,
            newPassword);
    }

public:
    bool getGroups(ADOXGroups& groups)
    {
        bool rc = false;
        ADOX::GroupsPtr ptr = getGroups();
        if (ptr) {
            groups.set(ptr);
            rc = true;
        } else {
            throw Exception(E_FAIL, "%s", __FUNCTION__);
        }
        return rc;
    }

public:
    ADOX::GroupsPtr getGroups()
    {
        return getUserPtr()->GetGroups();
    }

public:
    ADOX::PropertiesPtr getProperties()
    {
        return getUserPtr()->GetProperties();
    }

public:
    ADOX::_CatalogPtr getParentCatalog()
    {
        return getUserPtr()->GetParentCatalog();
    }


public:
    void putParentCatalog(
            __in ADOX::_Catalog * ppvObject)
    {
        getUserPtr()->PutParentCatalog(ppvObject);
    }

public:
    void putRefParentCatalog(
        __in ADOX::_Catalog * ppvObject)
    {
        getUserPtr()->PutRefParentCatalog(ppvObject);
    }

public:
    void dump()
    {
        _bstr_t name = getName();
        printf("<User Name=\"%s\" />\n", (const char*)name);
    }
};

}

Last modified: 1 Feb 2012

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