From adb98a993104ac3e5922d5fad99bd00867233944 Mon Sep 17 00:00:00 2001 From: Pavel Březina Date: Thu, 8 May 2014 12:58:06 +0200 Subject: Implement the schema --- src/sssd/LMI_SSSDServiceProvider.c | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) (limited to 'src/sssd/LMI_SSSDServiceProvider.c') diff --git a/src/sssd/LMI_SSSDServiceProvider.c b/src/sssd/LMI_SSSDServiceProvider.c index d79647e..47836ab 100644 --- a/src/sssd/LMI_SSSDServiceProvider.c +++ b/src/sssd/LMI_SSSDServiceProvider.c @@ -1,10 +1,12 @@ #include #include "LMI_SSSDService.h" +#include "utils.h" static const CMPIBroker* _cb = NULL; -static void LMI_SSSDServiceInitialize() +static void LMI_SSSDServiceInitialize(const CMPIContext *ctx) { + lmi_init(PROVIDER_NAME, _cb, ctx, NULL); } static CMPIStatus LMI_SSSDServiceCleanup( @@ -32,6 +34,26 @@ static CMPIStatus LMI_SSSDServiceEnumInstances( const CMPIObjectPath* cop, const char** properties) { + LMI_SSSDService lmi_sssd; + const char *namespace = KNameSpace(cop); + const char *hostname = lmi_get_system_name(); + + /* LMI_SSSDService is a singleton. */ + + LMI_SSSDService_Init(&lmi_sssd, _cb, namespace); + LMI_SSSDService_Set_Name(&lmi_sssd, SERVICE_NAME); + LMI_SSSDService_Set_SystemName(&lmi_sssd, hostname); + LMI_SSSDService_Set_CreationClassName(&lmi_sssd, LMI_SSSDService_ClassName); + LMI_SSSDService_Set_SystemCreationClassName(&lmi_sssd, + lmi_get_system_creation_class_name()); + + LMI_SSSDService_Set_Caption(&lmi_sssd, SERVICE_NAME); + LMI_SSSDService_Set_Description(&lmi_sssd, + "System Security Services Daemon"); + LMI_SSSDService_Set_ElementName(&lmi_sssd, SERVICE_NAME); + + KReturnInstance(cr, lmi_sssd); + CMReturn(CMPI_RC_OK); } @@ -91,7 +113,7 @@ CMInstanceMIStub( LMI_SSSDService, LMI_SSSDService, _cb, - LMI_SSSDServiceInitialize()) + LMI_SSSDServiceInitialize(ctx)) static CMPIStatus LMI_SSSDServiceMethodCleanup( CMPIMethodMI* mi, @@ -118,7 +140,7 @@ CMMethodMIStub( LMI_SSSDService, LMI_SSSDService, _cb, - LMI_SSSDServiceInitialize()) + LMI_SSSDServiceInitialize(ctx)) KUint32 LMI_SSSDService_RequestStateChange( const CMPIBroker* cb, -- cgit