summaryrefslogtreecommitdiffstats
path: root/src/sssd/LMI_SSSDServiceProvider.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sssd/LMI_SSSDServiceProvider.c')
-rw-r--r--src/sssd/LMI_SSSDServiceProvider.c28
1 files changed, 25 insertions, 3 deletions
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 <konkret/konkret.h>
#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,