diff options
Diffstat (limited to 'src/account/LMI_AccountManagementCapabilitiesProvider.c')
-rw-r--r-- | src/account/LMI_AccountManagementCapabilitiesProvider.c | 154 |
1 files changed, 154 insertions, 0 deletions
diff --git a/src/account/LMI_AccountManagementCapabilitiesProvider.c b/src/account/LMI_AccountManagementCapabilitiesProvider.c new file mode 100644 index 0000000..e08dd66 --- /dev/null +++ b/src/account/LMI_AccountManagementCapabilitiesProvider.c @@ -0,0 +1,154 @@ +#include <konkret/konkret.h> +#include "LMI_AccountManagementCapabilities.h" + +#include <stdbool.h> + +#include "macros.h" +#include "globals.h" + +#define NAME LAMCNAME + +static const CMPIBroker* _cb = NULL; + +static void LMI_AccountManagementCapabilitiesInitialize() +{ +} + +static CMPIStatus LMI_AccountManagementCapabilitiesCleanup( + CMPIInstanceMI* mi, + const CMPIContext* cc, + CMPIBoolean term) +{ + CMReturn(CMPI_RC_OK); +} + +static CMPIStatus LMI_AccountManagementCapabilitiesEnumInstanceNames( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop) +{ + return KDefaultEnumerateInstanceNames( + _cb, mi, cc, cr, cop); +} + +static CMPIStatus LMI_AccountManagementCapabilitiesEnumInstances( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const char** properties) +{ + LMI_AccountManagementCapabilities lamc; + + LMI_AccountManagementCapabilities_Init(&lamc, _cb, KNameSpace(cop)); + LMI_AccountManagementCapabilities_Set_ElementNameEditSupported( + &lamc, false); + LMI_AccountManagementCapabilities_Set_InstanceID(&lamc, ORGID":"LAMCNAME); + LMI_AccountManagementCapabilities_Set_ElementName(&lamc, NAME); + + LMI_AccountManagementCapabilities_Init_OperationsSupported(&lamc, 3); + LMI_AccountManagementCapabilities_Set_OperationsSupported(&lamc, 0, + LMI_AccountManagementCapabilities_OperationsSupported_Create); + LMI_AccountManagementCapabilities_Set_OperationsSupported(&lamc, 1, + LMI_AccountManagementCapabilities_OperationsSupported_Modify); + LMI_AccountManagementCapabilities_Set_OperationsSupported(&lamc, 2, + LMI_AccountManagementCapabilities_OperationsSupported_Delete); + + LMI_AccountManagementCapabilities_Init_SupportedUserPasswordEncryptionAlgorithms(&lamc, 1); + LMI_AccountManagementCapabilities_Set_SupportedUserPasswordEncryptionAlgorithms(&lamc, 0, LMI_AccountManagementCapabilities_SupportedUserPasswordEncryptionAlgorithms_Other); + + KReturnInstance(cr, lamc); + CMReturn(CMPI_RC_OK); +} + +static CMPIStatus LMI_AccountManagementCapabilitiesGetInstance( + 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_AccountManagementCapabilitiesCreateInstance( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const CMPIInstance* ci) +{ + CMReturn(CMPI_RC_ERR_NOT_SUPPORTED); +} + +static CMPIStatus LMI_AccountManagementCapabilitiesModifyInstance( + 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_AccountManagementCapabilitiesDeleteInstance( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop) +{ + CMReturn(CMPI_RC_ERR_NOT_SUPPORTED); +} + +static CMPIStatus LMI_AccountManagementCapabilitiesExecQuery( + 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_AccountManagementCapabilities, + LMI_AccountManagementCapabilities, + _cb, + LMI_AccountManagementCapabilitiesInitialize()) + +static CMPIStatus LMI_AccountManagementCapabilitiesMethodCleanup( + CMPIMethodMI* mi, + const CMPIContext* cc, + CMPIBoolean term) +{ + CMReturn(CMPI_RC_OK); +} + +static CMPIStatus LMI_AccountManagementCapabilitiesInvokeMethod( + CMPIMethodMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const char* meth, + const CMPIArgs* in, + CMPIArgs* out) +{ + return LMI_AccountManagementCapabilities_DispatchMethod( + _cb, mi, cc, cr, cop, meth, in, out); +} + +CMMethodMIStub( + LMI_AccountManagementCapabilities, + LMI_AccountManagementCapabilities, + _cb, + LMI_AccountManagementCapabilitiesInitialize()) + +KONKRET_REGISTRATION( + "root/cimv2", + "LMI_AccountManagementCapabilities", + "LMI_AccountManagementCapabilities", + "instance method") |