diff options
author | Pavel Březina <pbrezina@redhat.com> | 2014-01-08 11:37:41 +0100 |
---|---|---|
committer | Pavel Březina <pbrezina@redhat.com> | 2014-03-28 13:55:31 +0100 |
commit | 62517f0d9de6152e0e888a39d1d31ab6e835c1b1 (patch) | |
tree | 071811297b4ca928ac65efa0605fe8e21201d6b0 | |
parent | fc746579b21f79983e630b3b680ecfeed3438eab (diff) | |
download | openlmi_sssd-62517f0d9de6152e0e888a39d1d31ab6e835c1b1.tar.gz openlmi_sssd-62517f0d9de6152e0e888a39d1d31ab6e835c1b1.tar.xz openlmi_sssd-62517f0d9de6152e0e888a39d1d31ab6e835c1b1.zip |
Implement LMI_SSSD::GetSupportedServices()
-rw-r--r-- | src/sssd/LMI_SSSDProvider.c | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/src/sssd/LMI_SSSDProvider.c b/src/sssd/LMI_SSSDProvider.c new file mode 100644 index 0000000..aa9dcb3 --- /dev/null +++ b/src/sssd/LMI_SSSDProvider.c @@ -0,0 +1,156 @@ +#include <konkret/konkret.h> +#include "LMI_SSSD.h" + +static const CMPIBroker* _cb = NULL; + +static void LMI_SSSDInitialize() +{ +} + +static CMPIStatus LMI_SSSDCleanup( + CMPIInstanceMI* mi, + const CMPIContext* cc, + CMPIBoolean term) +{ + CMReturn(CMPI_RC_OK); +} + +static CMPIStatus LMI_SSSDEnumInstanceNames( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop) +{ + return KDefaultEnumerateInstanceNames( + _cb, mi, cc, cr, cop); +} + +static CMPIStatus LMI_SSSDEnumInstances( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const char** properties) +{ + CMReturn(CMPI_RC_OK); +} + +static CMPIStatus LMI_SSSDGetInstance( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const char** properties) +{ + return KDefaultGetInstance( + _cb, mi, cc, cr, cop, properties); +} + +static CMPIStatus LMI_SSSDCreateInstance( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const CMPIInstance* ci) +{ + CMReturn(CMPI_RC_ERR_NOT_SUPPORTED); +} + +static CMPIStatus LMI_SSSDModifyInstance( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const CMPIInstance* ci, + const char** properties) +{ + CMReturn(CMPI_RC_ERR_NOT_SUPPORTED); +} + +static CMPIStatus LMI_SSSDDeleteInstance( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop) +{ + CMReturn(CMPI_RC_ERR_NOT_SUPPORTED); +} + +static CMPIStatus LMI_SSSDExecQuery( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const char* lang, + const char* query) +{ + CMReturn(CMPI_RC_ERR_NOT_SUPPORTED); +} + +CMInstanceMIStub( + LMI_SSSD, + LMI_SSSD, + _cb, + LMI_SSSDInitialize()) + +static CMPIStatus LMI_SSSDMethodCleanup( + CMPIMethodMI* mi, + const CMPIContext* cc, + CMPIBoolean term) +{ + CMReturn(CMPI_RC_OK); +} + +static CMPIStatus LMI_SSSDInvokeMethod( + CMPIMethodMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const char* meth, + const CMPIArgs* in, + CMPIArgs* out) +{ + return LMI_SSSD_DispatchMethod( + _cb, mi, cc, cr, cop, meth, in, out); +} + +CMMethodMIStub( + LMI_SSSD, + LMI_SSSD, + _cb, + LMI_SSSDInitialize()) + +KUint32 LMI_SSSD_GetSupportedServices( + const CMPIBroker* cb, + CMPIMethodMI* mi, + const CMPIContext* context, + KStringA* services, + CMPIStatus* status) +{ + KUint32 result = KUINT32_INIT; + CMPIBoolean bret; + + bret = KStringA_Init(services, cb, 6); + if (!bret) { + KSetStatus(status, ERR_FAILED); + KUint32_Set(&result, 1); + return result; + } + + KStringA_Set(services, cb, 0, "nss"); + KStringA_Set(services, cb, 1, "pam"); + KStringA_Set(services, cb, 2, "sudo"); + KStringA_Set(services, cb, 3, "autofs"); + KStringA_Set(services, cb, 4, "ssh"); + KStringA_Set(services, cb, 5, "pac"); + + KSetStatus(status, OK); + KUint32_Set(&result, 0); + return result; +} + +KONKRET_REGISTRATION( + "root/cimv2", + "LMI_SSSD", + "LMI_SSSD", + "instance method"); |