#include #include "LMI_SSSDService.h" #include "utils.h" static const CMPIBroker* _cb = NULL; static void LMI_SSSDServiceInitialize(const CMPIContext *ctx) { lmi_init(PROVIDER_NAME, _cb, ctx, NULL); } static CMPIStatus LMI_SSSDServiceCleanup( CMPIInstanceMI* mi, const CMPIContext* cc, CMPIBoolean term) { CMReturn(CMPI_RC_OK); } static CMPIStatus LMI_SSSDServiceEnumInstanceNames( CMPIInstanceMI* mi, const CMPIContext* cc, const CMPIResult* cr, const CMPIObjectPath* cop) { return KDefaultEnumerateInstanceNames( _cb, mi, cc, cr, cop); } static CMPIStatus LMI_SSSDServiceEnumInstances( CMPIInstanceMI* mi, const CMPIContext* cc, const CMPIResult* cr, 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); } static CMPIStatus LMI_SSSDServiceGetInstance( 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_SSSDServiceCreateInstance( CMPIInstanceMI* mi, const CMPIContext* cc, const CMPIResult* cr, const CMPIObjectPath* cop, const CMPIInstance* ci) { CMReturn(CMPI_RC_ERR_NOT_SUPPORTED); } static CMPIStatus LMI_SSSDServiceModifyInstance( 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_SSSDServiceDeleteInstance( CMPIInstanceMI* mi, const CMPIContext* cc, const CMPIResult* cr, const CMPIObjectPath* cop) { CMReturn(CMPI_RC_ERR_NOT_SUPPORTED); } static CMPIStatus LMI_SSSDServiceExecQuery( 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_SSSDService, LMI_SSSDService, _cb, LMI_SSSDServiceInitialize(ctx)) static CMPIStatus LMI_SSSDServiceMethodCleanup( CMPIMethodMI* mi, const CMPIContext* cc, CMPIBoolean term) { CMReturn(CMPI_RC_OK); } static CMPIStatus LMI_SSSDServiceInvokeMethod( CMPIMethodMI* mi, const CMPIContext* cc, const CMPIResult* cr, const CMPIObjectPath* cop, const char* meth, const CMPIArgs* in, CMPIArgs* out) { return LMI_SSSDService_DispatchMethod( _cb, mi, cc, cr, cop, meth, in, out); } CMMethodMIStub( LMI_SSSDService, LMI_SSSDService, _cb, LMI_SSSDServiceInitialize(ctx)) KUint32 LMI_SSSDService_RequestStateChange( const CMPIBroker* cb, CMPIMethodMI* mi, const CMPIContext* context, const LMI_SSSDServiceRef* self, const KUint16* RequestedState, KRef* Job, const KDateTime* TimeoutPeriod, CMPIStatus* status) { KUint32 result = KUINT32_INIT; KSetStatus(status, ERR_NOT_SUPPORTED); return result; } KUint32 LMI_SSSDService_StartService( const CMPIBroker* cb, CMPIMethodMI* mi, const CMPIContext* context, const LMI_SSSDServiceRef* self, CMPIStatus* status) { KUint32 result = KUINT32_INIT; KSetStatus(status, ERR_NOT_SUPPORTED); return result; } KUint32 LMI_SSSDService_StopService( const CMPIBroker* cb, CMPIMethodMI* mi, const CMPIContext* context, const LMI_SSSDServiceRef* self, CMPIStatus* status) { KUint32 result = KUINT32_INIT; KSetStatus(status, ERR_NOT_SUPPORTED); return result; } KONKRET_REGISTRATION( "root/cimv2", "LMI_SSSDService", "LMI_SSSDService", "instance method")