diff options
Diffstat (limited to 'src/account/Cura_HostedServiceProvider.c')
-rw-r--r-- | src/account/Cura_HostedServiceProvider.c | 239 |
1 files changed, 239 insertions, 0 deletions
diff --git a/src/account/Cura_HostedServiceProvider.c b/src/account/Cura_HostedServiceProvider.c new file mode 100644 index 0000000..2e252e7 --- /dev/null +++ b/src/account/Cura_HostedServiceProvider.c @@ -0,0 +1,239 @@ +#include <konkret/konkret.h> +#include "Cura_HostedService.h" +#include "CIM_ComputerSystem.h" +#include "Cura_AccountManagementService.h" + +#include "macros.h" +#include "globals.h" + +static const CMPIBroker* _cb; + +static void Cura_HostedServiceInitialize() +{ +} + +static CMPIStatus Cura_HostedServiceCleanup( + CMPIInstanceMI* mi, + const CMPIContext* cc, + CMPIBoolean term) +{ + CMReturn(CMPI_RC_OK); +} + +static CMPIStatus Cura_HostedServiceEnumInstanceNames( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop) +{ + return KDefaultEnumerateInstanceNames( + _cb, mi, cc, cr, cop); +} + +static CMPIStatus Cura_HostedServiceEnumInstances( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const char** properties) +{ + CIM_ComputerSystemRef lcsref; + Cura_AccountManagementServiceRef lamsref; + Cura_HostedService 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()); + + Cura_AccountManagementServiceRef_Init(&lamsref, _cb, nameSpace); + Cura_AccountManagementServiceRef_Set_Name(&lamsref, LAMSNAME); + Cura_AccountManagementServiceRef_Set_SystemCreationClassName(&lamsref, + get_system_creation_class_name()); + Cura_AccountManagementServiceRef_Set_SystemName(&lamsref, hostname); + Cura_AccountManagementServiceRef_Set_CreationClassName(&lamsref, + Cura_AccountManagementService_ClassName); + + Cura_HostedService_Init(&lhs, _cb, nameSpace); + Cura_HostedService_SetObjectPath_Antecedent(&lhs, computerSystemOP); + Cura_HostedService_Set_Dependent(&lhs, &lamsref); + + KReturnInstance(cr, lhs); + CMReturn(CMPI_RC_OK); +} + +static CMPIStatus Cura_HostedServiceGetInstance( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const char** properties) +{ + return KDefaultGetInstance( + _cb, mi, cc, cr, cop, properties); +} + +static CMPIStatus Cura_HostedServiceCreateInstance( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const CMPIInstance* ci) +{ + CMReturn(CMPI_RC_ERR_NOT_SUPPORTED); +} + +static CMPIStatus Cura_HostedServiceModifyInstance( + 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 Cura_HostedServiceDeleteInstance( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop) +{ + CMReturn(CMPI_RC_ERR_NOT_SUPPORTED); +} + +static CMPIStatus Cura_HostedServiceExecQuery( + 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 Cura_HostedServiceAssociationCleanup( + CMPIAssociationMI* mi, + const CMPIContext* cc, + CMPIBoolean term) +{ + CMReturn(CMPI_RC_OK); +} + +static CMPIStatus Cura_HostedServiceAssociators( + 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, + Cura_HostedService_ClassName, + assocClass, + resultClass, + role, + resultRole, + properties); +} + +static CMPIStatus Cura_HostedServiceAssociatorNames( + 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, + Cura_HostedService_ClassName, + assocClass, + resultClass, + role, + resultRole); +} + +static CMPIStatus Cura_HostedServiceReferences( + 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, + Cura_HostedService_ClassName, + assocClass, + role, + properties); +} + +static CMPIStatus Cura_HostedServiceReferenceNames( + CMPIAssociationMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const char* assocClass, + const char* role) +{ + return KDefaultReferenceNames( + _cb, + mi, + cc, + cr, + cop, + Cura_HostedService_ClassName, + assocClass, + role); +} + +CMInstanceMIStub( + Cura_HostedService, + Cura_HostedService, + _cb, + Cura_HostedServiceInitialize()) + +CMAssociationMIStub( + Cura_HostedService, + Cura_HostedService, + _cb, + Cura_HostedServiceInitialize()) + +KONKRET_REGISTRATION( + "root/cimv2", + "Cura_HostedService", + "Cura_HostedService", + "instance association") |