diff options
Diffstat (limited to 'src/account/LMI_HostedAccountManagementServiceProvider.c')
-rw-r--r-- | src/account/LMI_HostedAccountManagementServiceProvider.c | 239 |
1 files changed, 239 insertions, 0 deletions
diff --git a/src/account/LMI_HostedAccountManagementServiceProvider.c b/src/account/LMI_HostedAccountManagementServiceProvider.c new file mode 100644 index 0000000..aad981d --- /dev/null +++ b/src/account/LMI_HostedAccountManagementServiceProvider.c @@ -0,0 +1,239 @@ +#include <konkret/konkret.h> +#include "LMI_HostedAccountManagementService.h" +#include "CIM_ComputerSystem.h" +#include "LMI_AccountManagementService.h" + +#include "macros.h" +#include "globals.h" + +static const CMPIBroker* _cb; + +static void LMI_HostedAccountManagementServiceInitialize() +{ +} + +static CMPIStatus LMI_HostedAccountManagementServiceCleanup( + CMPIInstanceMI* mi, + const CMPIContext* cc, + CMPIBoolean term) +{ + CMReturn(CMPI_RC_OK); +} + +static CMPIStatus LMI_HostedAccountManagementServiceEnumInstanceNames( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop) +{ + return KDefaultEnumerateInstanceNames( + _cb, mi, cc, cr, cop); +} + +static CMPIStatus LMI_HostedAccountManagementServiceEnumInstances( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const char** properties) +{ + CIM_ComputerSystemRef lcsref; + LMI_AccountManagementServiceRef lamsref; + LMI_HostedAccountManagementService lhs; + + CMPIObjectPath *computerSystemOP = NULL; + CMPIStatus rc; + + const char *nameSpace = KNameSpace(cop); + const char *hostname = get_system_name(); + + CIM_ComputerSystemRef_Init(&lcsref, _cb, nameSpace); + CIM_ComputerSystemRef_Set_Name(&lcsref, hostname); + CIM_ComputerSystemRef_Set_CreationClassName(&lcsref, + get_system_creation_class_name()); + + computerSystemOP = CIM_ComputerSystemRef_ToObjectPath(&lcsref, &rc); + computerSystemOP->ft->setClassName(computerSystemOP, + get_system_creation_class_name()); + + LMI_AccountManagementServiceRef_Init(&lamsref, _cb, nameSpace); + LMI_AccountManagementServiceRef_Set_Name(&lamsref, LAMSNAME); + LMI_AccountManagementServiceRef_Set_SystemCreationClassName(&lamsref, + get_system_creation_class_name()); + LMI_AccountManagementServiceRef_Set_SystemName(&lamsref, hostname); + LMI_AccountManagementServiceRef_Set_CreationClassName(&lamsref, + LMI_AccountManagementService_ClassName); + + LMI_HostedAccountManagementService_Init(&lhs, _cb, nameSpace); + LMI_HostedAccountManagementService_SetObjectPath_Antecedent(&lhs, computerSystemOP); + LMI_HostedAccountManagementService_Set_Dependent(&lhs, &lamsref); + + KReturnInstance(cr, lhs); + CMReturn(CMPI_RC_OK); +} + +static CMPIStatus LMI_HostedAccountManagementServiceGetInstance( + 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_HostedAccountManagementServiceCreateInstance( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const CMPIInstance* ci) +{ + CMReturn(CMPI_RC_ERR_NOT_SUPPORTED); +} + +static CMPIStatus LMI_HostedAccountManagementServiceModifyInstance( + 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_HostedAccountManagementServiceDeleteInstance( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop) +{ + CMReturn(CMPI_RC_ERR_NOT_SUPPORTED); +} + +static CMPIStatus LMI_HostedAccountManagementServiceExecQuery( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const char* lang, + const char* query) +{ + CMReturn(CMPI_RC_ERR_NOT_SUPPORTED); +} + +static CMPIStatus LMI_HostedAccountManagementServiceAssociationCleanup( + CMPIAssociationMI* mi, + const CMPIContext* cc, + CMPIBoolean term) +{ + CMReturn(CMPI_RC_OK); +} + +static CMPIStatus LMI_HostedAccountManagementServiceAssociators( + CMPIAssociationMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const char* assocClass, + const char* resultClass, + const char* role, + const char* resultRole, + const char** properties) +{ + return KDefaultAssociators( + _cb, + mi, + cc, + cr, + cop, + LMI_HostedAccountManagementService_ClassName, + assocClass, + resultClass, + role, + resultRole, + properties); +} + +static CMPIStatus LMI_HostedAccountManagementServiceAssociatorNames( + CMPIAssociationMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const char* assocClass, + const char* resultClass, + const char* role, + const char* resultRole) +{ + return KDefaultAssociatorNames( + _cb, + mi, + cc, + cr, + cop, + LMI_HostedAccountManagementService_ClassName, + assocClass, + resultClass, + role, + resultRole); +} + +static CMPIStatus LMI_HostedAccountManagementServiceReferences( + CMPIAssociationMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const char* assocClass, + const char* role, + const char** properties) +{ + return KDefaultReferences( + _cb, + mi, + cc, + cr, + cop, + LMI_HostedAccountManagementService_ClassName, + assocClass, + role, + properties); +} + +static CMPIStatus LMI_HostedAccountManagementServiceReferenceNames( + CMPIAssociationMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const char* assocClass, + const char* role) +{ + return KDefaultReferenceNames( + _cb, + mi, + cc, + cr, + cop, + LMI_HostedAccountManagementService_ClassName, + assocClass, + role); +} + +CMInstanceMIStub( + LMI_HostedAccountManagementService, + LMI_HostedAccountManagementService, + _cb, + LMI_HostedAccountManagementServiceInitialize()) + +CMAssociationMIStub( + LMI_HostedAccountManagementService, + LMI_HostedAccountManagementService, + _cb, + LMI_HostedAccountManagementServiceInitialize()) + +KONKRET_REGISTRATION( + "root/cimv2", + "LMI_HostedAccountManagementService", + "LMI_HostedAccountManagementService", + "instance association") |