From 4721a6cb186e7d6908ff1f361d0bc81e182473ad Mon Sep 17 00:00:00 2001 From: Radek Novacek Date: Mon, 27 Aug 2012 15:01:46 +0200 Subject: Rename prefix from Cura_ to LMI_ --- src/service/CMakeLists.txt | 2 +- src/service/Cura_ServiceProvider.c | 354 ------------------------------------- src/service/LMI_ServiceProvider.c | 354 +++++++++++++++++++++++++++++++++++++ 3 files changed, 355 insertions(+), 355 deletions(-) delete mode 100644 src/service/Cura_ServiceProvider.c create mode 100644 src/service/LMI_ServiceProvider.c (limited to 'src/service') diff --git a/src/service/CMakeLists.txt b/src/service/CMakeLists.txt index 55c61cc..2997213 100644 --- a/src/service/CMakeLists.txt +++ b/src/service/CMakeLists.txt @@ -1,7 +1,7 @@ set(PROVIDER_NAME Service) set(LIBRARY_NAME cmpiCura_${PROVIDER_NAME}) -set(MOF Cura_Service.mof) +set(MOF LMI_Service.mof) set(provider_SRCS util/serviceutil.c diff --git a/src/service/Cura_ServiceProvider.c b/src/service/Cura_ServiceProvider.c deleted file mode 100644 index b8363c7..0000000 --- a/src/service/Cura_ServiceProvider.c +++ /dev/null @@ -1,354 +0,0 @@ -/* - * Copyright (C) 2012 Vitezslav Crhonek - * Copyright (C) 2012 Radek Novacek - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see . - */ - -#include -#include -#include "Cura_Service.h" -#include "util/serviceutil.h" -#include "globals.h" - -static const CMPIBroker* _cb = NULL; - -static void Cura_ServiceInitialize() -{ -} - -static CMPIStatus Cura_ServiceCleanup( - CMPIInstanceMI* mi, - const CMPIContext* cc, - CMPIBoolean term) -{ - CMReturn(CMPI_RC_OK); -} - -static CMPIStatus Cura_ServiceEnumInstanceNames( - CMPIInstanceMI* mi, - const CMPIContext* cc, - const CMPIResult* cr, - const CMPIObjectPath* cop) -{ - const char *ns = KNameSpace(cop); - SList *slist = NULL; - - slist = Service_Find_All(); - for (int i = 0; i < slist->cnt; i++) { - Cura_ServiceRef w; - Cura_ServiceRef_Init(&w, _cb, ns); - Cura_ServiceRef_Set_CreationClassName(&w, "Cura_Service"); - Cura_ServiceRef_Set_SystemCreationClassName(&w, get_system_creation_class_name()); - Cura_ServiceRef_Set_SystemName(&w, get_system_name()); - Cura_ServiceRef_Set_Name(&w, slist->name[i]); - - KReturnObjectPath(cr, w); - } - Service_Free_SList(slist); - - CMReturn(CMPI_RC_OK); -} - -static CMPIStatus Cura_ServiceEnumInstances( - CMPIInstanceMI* mi, - const CMPIContext* cc, - const CMPIResult* cr, - const CMPIObjectPath* cop, - const char** properties) -{ - CMPIStatus st; - CMPIEnumeration* e; - if (!(e = _cb->bft->enumerateInstanceNames(_cb, cc, cop, &st))) { - KReturn2(_cb, ERR_FAILED, "Unable to enumerate instances of Cura_Service"); - } - CMPIData cd; - while (CMHasNext(e, &st)) { - - cd = CMGetNext(e, &st); - if (st.rc || cd.type != CMPI_ref) { - KReturn2(_cb, ERR_FAILED, "Enumerate instances didn't returned list of references"); - } - CMPIInstance *in = _cb->bft->getInstance(_cb, cc, cd.value.ref, properties, &st); - if (st.rc) { - KReturn2(_cb, ERR_FAILED, "Unable to get instance of Cura_Service"); - } - cr->ft->returnInstance(cr, in); - } - KReturn(OK); -} - -static CMPIStatus Cura_ServiceGetInstance( - CMPIInstanceMI* mi, - const CMPIContext* cc, - const CMPIResult* cr, - const CMPIObjectPath* cop, - const char** properties) -{ - Cura_Service w; - Cura_Service_InitFromObjectPath(&w, _cb, cop); - - void *enumhdl = Service_Begin_Enum(w.Name.chars); - Service servicebuf; - if (Service_Next_Enum(enumhdl, &servicebuf, w.Name.chars)) { - Cura_Service_Set_Status(&w, servicebuf.svStatus); - Cura_Service_Set_Started(&w, servicebuf.svStarted); - - switch (servicebuf.svEnabledDefault) { - case ENABLED: - Cura_Service_Set_EnabledDefault(&w, Cura_Service_EnabledDefault_Enabled); - break; - case DISABLED: - Cura_Service_Set_EnabledDefault(&w, Cura_Service_EnabledDefault_Disabled); - break; - default: - Cura_Service_Set_EnabledDefault(&w, Cura_Service_EnabledDefault_Not_Applicable); - break; - } - - KReturnInstance(cr, w); - Service_End_Enum(enumhdl); - KReturn(OK); - } else { - KReturn(ERR_NOT_FOUND); - } -} - -static CMPIStatus Cura_ServiceCreateInstance( - CMPIInstanceMI* mi, - const CMPIContext* cc, - const CMPIResult* cr, - const CMPIObjectPath* cop, - const CMPIInstance* ci) -{ - CMReturn(CMPI_RC_ERR_NOT_SUPPORTED); -} - -static CMPIStatus Cura_ServiceModifyInstance( - 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_ServiceDeleteInstance( - CMPIInstanceMI* mi, - const CMPIContext* cc, - const CMPIResult* cr, - const CMPIObjectPath* cop) -{ - CMReturn(CMPI_RC_ERR_NOT_SUPPORTED); -} - -static CMPIStatus Cura_ServiceExecQuery( - CMPIInstanceMI* mi, - const CMPIContext* cc, - const CMPIResult* cr, - const CMPIObjectPath* cop, - const char* lang, - const char* query) -{ - CMReturn(CMPI_RC_ERR_NOT_SUPPORTED); -} - -CMInstanceMIStub( - Cura_Service, - Cura_Service, - _cb, - Cura_ServiceInitialize()) - -static CMPIStatus Cura_ServiceMethodCleanup( - CMPIMethodMI* mi, - const CMPIContext* cc, - CMPIBoolean term) -{ - CMReturn(CMPI_RC_OK); -} - -static CMPIStatus Cura_ServiceInvokeMethod( - CMPIMethodMI* mi, - const CMPIContext* cc, - const CMPIResult* cr, - const CMPIObjectPath* cop, - const char* meth, - const CMPIArgs* in, - CMPIArgs* out) -{ - return Cura_Service_DispatchMethod( - _cb, mi, cc, cr, cop, meth, in, out); -} - -CMMethodMIStub( - Cura_Service, - Cura_Service, - _cb, - Cura_ServiceInitialize()) - -KUint32 Cura_Service_RequestStateChange( - const CMPIBroker* cb, - CMPIMethodMI* mi, - const CMPIContext* context, - const Cura_ServiceRef* self, - const KUint16* RequestedState, - KRef* Job, - const KDateTime* TimeoutPeriod, - CMPIStatus* status) -{ - KUint32 result = KUINT32_INIT; - - KSetStatus(status, ERR_NOT_SUPPORTED); - return result; -} - -unsigned int Service_RunOperation(const char *service, const char *operation, CMPIStatus *status) -{ - char output[1024]; - int res = Service_Operation(service, operation, output, sizeof(output)); - if (res == 0) { - KSetStatus2(_cb, status, OK, output); - } else { - KSetStatus2(_cb, status, ERR_FAILED, output); - } - return res; -} - -KUint32 Cura_Service_StartService( - const CMPIBroker* cb, - CMPIMethodMI* mi, - const CMPIContext* context, - const Cura_ServiceRef* self, - CMPIStatus* status) -{ - KUint32 result = KUINT32_INIT; - KUint32_Set(&result, Service_RunOperation(self->Name.chars, "start", status)); - return result; -} - -KUint32 Cura_Service_StopService( - const CMPIBroker* cb, - CMPIMethodMI* mi, - const CMPIContext* context, - const Cura_ServiceRef* self, - CMPIStatus* status) -{ - KUint32 result = KUINT32_INIT; - KUint32_Set(&result, Service_RunOperation(self->Name.chars, "stop", status)); - return result; -} - -KUint32 Cura_Service_ReloadService( - const CMPIBroker* cb, - CMPIMethodMI* mi, - const CMPIContext* context, - const Cura_ServiceRef* self, - CMPIStatus* status) -{ - KUint32 result = KUINT32_INIT; - KUint32_Set(&result, Service_RunOperation(self->Name.chars, "reload", status)); - return result; -} - -KUint32 Cura_Service_RestartService( - const CMPIBroker* cb, - CMPIMethodMI* mi, - const CMPIContext* context, - const Cura_ServiceRef* self, - CMPIStatus* status) -{ - KUint32 result = KUINT32_INIT; - KUint32_Set(&result, Service_RunOperation(self->Name.chars, "restart", status)); - return result; -} - -KUint32 Cura_Service_TryRestartService( - const CMPIBroker* cb, - CMPIMethodMI* mi, - const CMPIContext* context, - const Cura_ServiceRef* self, - CMPIStatus* status) -{ - KUint32 result = KUINT32_INIT; - KUint32_Set(&result, Service_RunOperation(self->Name.chars, "try-restart", status)); - return result; -} - -KUint32 Cura_Service_CondRestartService( - const CMPIBroker* cb, - CMPIMethodMI* mi, - const CMPIContext* context, - const Cura_ServiceRef* self, - CMPIStatus* status) -{ - KUint32 result = KUINT32_INIT; - KUint32_Set(&result, Service_RunOperation(self->Name.chars, "condrestart", status)); - return result; -} - -KUint32 Cura_Service_ReloadOrRestartService( - const CMPIBroker* cb, - CMPIMethodMI* mi, - const CMPIContext* context, - const Cura_ServiceRef* self, - CMPIStatus* status) -{ - KUint32 result = KUINT32_INIT; - KUint32_Set(&result, Service_RunOperation(self->Name.chars, "reload-or-restart", status)); - return result; -} - -KUint32 Cura_Service_ReloadOrTryRestartService( - const CMPIBroker* cb, - CMPIMethodMI* mi, - const CMPIContext* context, - const Cura_ServiceRef* self, - CMPIStatus* status) -{ - KUint32 result = KUINT32_INIT; - KUint32_Set(&result, Service_RunOperation(self->Name.chars, "reload-or-try-restart", status)); - return result; -} - -KUint32 Cura_Service_TurnServiceOn( - const CMPIBroker* cb, - CMPIMethodMI* mi, - const CMPIContext* context, - const Cura_ServiceRef* self, - CMPIStatus* status) -{ - KUint32 result = KUINT32_INIT; - KUint32_Set(&result, Service_RunOperation(self->Name.chars, "enable", status)); - return result; -} - -KUint32 Cura_Service_TurnServiceOff( - const CMPIBroker* cb, - CMPIMethodMI* mi, - const CMPIContext* context, - const Cura_ServiceRef* self, - CMPIStatus* status) -{ - KUint32 result = KUINT32_INIT; - KUint32_Set(&result, Service_RunOperation(self->Name.chars, "disable", status)); - return result; -} - -KONKRET_REGISTRATION( - "root/cimv2", - "Cura_Service", - "Cura_Service", - "instance method") diff --git a/src/service/LMI_ServiceProvider.c b/src/service/LMI_ServiceProvider.c new file mode 100644 index 0000000..77ed59e --- /dev/null +++ b/src/service/LMI_ServiceProvider.c @@ -0,0 +1,354 @@ +/* + * Copyright (C) 2012 Vitezslav Crhonek + * Copyright (C) 2012 Radek Novacek + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +#include +#include +#include "LMI_Service.h" +#include "util/serviceutil.h" +#include "globals.h" + +static const CMPIBroker* _cb = NULL; + +static void LMI_ServiceInitialize() +{ +} + +static CMPIStatus LMI_ServiceCleanup( + CMPIInstanceMI* mi, + const CMPIContext* cc, + CMPIBoolean term) +{ + CMReturn(CMPI_RC_OK); +} + +static CMPIStatus LMI_ServiceEnumInstanceNames( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop) +{ + const char *ns = KNameSpace(cop); + SList *slist = NULL; + + slist = Service_Find_All(); + for (int i = 0; i < slist->cnt; i++) { + LMI_ServiceRef w; + LMI_ServiceRef_Init(&w, _cb, ns); + LMI_ServiceRef_Set_CreationClassName(&w, "LMI_Service"); + LMI_ServiceRef_Set_SystemCreationClassName(&w, get_system_creation_class_name()); + LMI_ServiceRef_Set_SystemName(&w, get_system_name()); + LMI_ServiceRef_Set_Name(&w, slist->name[i]); + + KReturnObjectPath(cr, w); + } + Service_Free_SList(slist); + + CMReturn(CMPI_RC_OK); +} + +static CMPIStatus LMI_ServiceEnumInstances( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const char** properties) +{ + CMPIStatus st; + CMPIEnumeration* e; + if (!(e = _cb->bft->enumerateInstanceNames(_cb, cc, cop, &st))) { + KReturn2(_cb, ERR_FAILED, "Unable to enumerate instances of LMI_Service"); + } + CMPIData cd; + while (CMHasNext(e, &st)) { + + cd = CMGetNext(e, &st); + if (st.rc || cd.type != CMPI_ref) { + KReturn2(_cb, ERR_FAILED, "Enumerate instances didn't returned list of references"); + } + CMPIInstance *in = _cb->bft->getInstance(_cb, cc, cd.value.ref, properties, &st); + if (st.rc) { + KReturn2(_cb, ERR_FAILED, "Unable to get instance of LMI_Service"); + } + cr->ft->returnInstance(cr, in); + } + KReturn(OK); +} + +static CMPIStatus LMI_ServiceGetInstance( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const char** properties) +{ + LMI_Service w; + LMI_Service_InitFromObjectPath(&w, _cb, cop); + + void *enumhdl = Service_Begin_Enum(w.Name.chars); + Service servicebuf; + if (Service_Next_Enum(enumhdl, &servicebuf, w.Name.chars)) { + LMI_Service_Set_Status(&w, servicebuf.svStatus); + LMI_Service_Set_Started(&w, servicebuf.svStarted); + + switch (servicebuf.svEnabledDefault) { + case ENABLED: + LMI_Service_Set_EnabledDefault(&w, LMI_Service_EnabledDefault_Enabled); + break; + case DISABLED: + LMI_Service_Set_EnabledDefault(&w, LMI_Service_EnabledDefault_Disabled); + break; + default: + LMI_Service_Set_EnabledDefault(&w, LMI_Service_EnabledDefault_Not_Applicable); + break; + } + + KReturnInstance(cr, w); + Service_End_Enum(enumhdl); + KReturn(OK); + } else { + KReturn(ERR_NOT_FOUND); + } +} + +static CMPIStatus LMI_ServiceCreateInstance( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const CMPIInstance* ci) +{ + CMReturn(CMPI_RC_ERR_NOT_SUPPORTED); +} + +static CMPIStatus LMI_ServiceModifyInstance( + 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_ServiceDeleteInstance( + CMPIInstanceMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop) +{ + CMReturn(CMPI_RC_ERR_NOT_SUPPORTED); +} + +static CMPIStatus LMI_ServiceExecQuery( + 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_Service, + LMI_Service, + _cb, + LMI_ServiceInitialize()) + +static CMPIStatus LMI_ServiceMethodCleanup( + CMPIMethodMI* mi, + const CMPIContext* cc, + CMPIBoolean term) +{ + CMReturn(CMPI_RC_OK); +} + +static CMPIStatus LMI_ServiceInvokeMethod( + CMPIMethodMI* mi, + const CMPIContext* cc, + const CMPIResult* cr, + const CMPIObjectPath* cop, + const char* meth, + const CMPIArgs* in, + CMPIArgs* out) +{ + return LMI_Service_DispatchMethod( + _cb, mi, cc, cr, cop, meth, in, out); +} + +CMMethodMIStub( + LMI_Service, + LMI_Service, + _cb, + LMI_ServiceInitialize()) + +KUint32 LMI_Service_RequestStateChange( + const CMPIBroker* cb, + CMPIMethodMI* mi, + const CMPIContext* context, + const LMI_ServiceRef* self, + const KUint16* RequestedState, + KRef* Job, + const KDateTime* TimeoutPeriod, + CMPIStatus* status) +{ + KUint32 result = KUINT32_INIT; + + KSetStatus(status, ERR_NOT_SUPPORTED); + return result; +} + +unsigned int Service_RunOperation(const char *service, const char *operation, CMPIStatus *status) +{ + char output[1024]; + int res = Service_Operation(service, operation, output, sizeof(output)); + if (res == 0) { + KSetStatus2(_cb, status, OK, output); + } else { + KSetStatus2(_cb, status, ERR_FAILED, output); + } + return res; +} + +KUint32 LMI_Service_StartService( + const CMPIBroker* cb, + CMPIMethodMI* mi, + const CMPIContext* context, + const LMI_ServiceRef* self, + CMPIStatus* status) +{ + KUint32 result = KUINT32_INIT; + KUint32_Set(&result, Service_RunOperation(self->Name.chars, "start", status)); + return result; +} + +KUint32 LMI_Service_StopService( + const CMPIBroker* cb, + CMPIMethodMI* mi, + const CMPIContext* context, + const LMI_ServiceRef* self, + CMPIStatus* status) +{ + KUint32 result = KUINT32_INIT; + KUint32_Set(&result, Service_RunOperation(self->Name.chars, "stop", status)); + return result; +} + +KUint32 LMI_Service_ReloadService( + const CMPIBroker* cb, + CMPIMethodMI* mi, + const CMPIContext* context, + const LMI_ServiceRef* self, + CMPIStatus* status) +{ + KUint32 result = KUINT32_INIT; + KUint32_Set(&result, Service_RunOperation(self->Name.chars, "reload", status)); + return result; +} + +KUint32 LMI_Service_RestartService( + const CMPIBroker* cb, + CMPIMethodMI* mi, + const CMPIContext* context, + const LMI_ServiceRef* self, + CMPIStatus* status) +{ + KUint32 result = KUINT32_INIT; + KUint32_Set(&result, Service_RunOperation(self->Name.chars, "restart", status)); + return result; +} + +KUint32 LMI_Service_TryRestartService( + const CMPIBroker* cb, + CMPIMethodMI* mi, + const CMPIContext* context, + const LMI_ServiceRef* self, + CMPIStatus* status) +{ + KUint32 result = KUINT32_INIT; + KUint32_Set(&result, Service_RunOperation(self->Name.chars, "try-restart", status)); + return result; +} + +KUint32 LMI_Service_CondRestartService( + const CMPIBroker* cb, + CMPIMethodMI* mi, + const CMPIContext* context, + const LMI_ServiceRef* self, + CMPIStatus* status) +{ + KUint32 result = KUINT32_INIT; + KUint32_Set(&result, Service_RunOperation(self->Name.chars, "condrestart", status)); + return result; +} + +KUint32 LMI_Service_ReloadOrRestartService( + const CMPIBroker* cb, + CMPIMethodMI* mi, + const CMPIContext* context, + const LMI_ServiceRef* self, + CMPIStatus* status) +{ + KUint32 result = KUINT32_INIT; + KUint32_Set(&result, Service_RunOperation(self->Name.chars, "reload-or-restart", status)); + return result; +} + +KUint32 LMI_Service_ReloadOrTryRestartService( + const CMPIBroker* cb, + CMPIMethodMI* mi, + const CMPIContext* context, + const LMI_ServiceRef* self, + CMPIStatus* status) +{ + KUint32 result = KUINT32_INIT; + KUint32_Set(&result, Service_RunOperation(self->Name.chars, "reload-or-try-restart", status)); + return result; +} + +KUint32 LMI_Service_TurnServiceOn( + const CMPIBroker* cb, + CMPIMethodMI* mi, + const CMPIContext* context, + const LMI_ServiceRef* self, + CMPIStatus* status) +{ + KUint32 result = KUINT32_INIT; + KUint32_Set(&result, Service_RunOperation(self->Name.chars, "enable", status)); + return result; +} + +KUint32 LMI_Service_TurnServiceOff( + const CMPIBroker* cb, + CMPIMethodMI* mi, + const CMPIContext* context, + const LMI_ServiceRef* self, + CMPIStatus* status) +{ + KUint32 result = KUINT32_INIT; + KUint32_Set(&result, Service_RunOperation(self->Name.chars, "disable", status)); + return result; +} + +KONKRET_REGISTRATION( + "root/cimv2", + "LMI_Service", + "LMI_Service", + "instance method") -- cgit