summaryrefslogtreecommitdiffstats
path: root/src/sssd/LMI_SSSDProvider.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sssd/LMI_SSSDProvider.c')
-rw-r--r--src/sssd/LMI_SSSDProvider.c156
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");