Review Request 351: Indication manager [1/1] Indication manager
Roman Rakus
reviewboard at gallagherhome.com
Mon May 27 11:11:19 UTC 2013
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard-openlmi.rhcloud.com/r/351/
-----------------------------------------------------------
(Updated May 27, 2013, 11:11 a.m.)
Review request for OpenLMI Developers.
Repository: openlmi-providers
Description
-------
Indication manager
Signed-off-by: Roman Rakus <rrakus at redhat.com>
Diffs (updated)
-----
CMakeLists.txt f25850e1640f52aed9f18c3bd343d41f7f5f21a4
src/CMakeLists.txt 9f714d080d8541c368dedc235996e7a790930fff
src/indmanager/CMakeLists.txt PRE-CREATION
src/indmanager/README PRE-CREATION
src/indmanager/ind_manager.h PRE-CREATION
src/indmanager/ind_manager.c PRE-CREATION
src/indmanager/openlmiindmanager.pc.in PRE-CREATION
Diff: http://reviewboard-openlmi.rhcloud.com/r/351/diff/
Testing
-------
For testing purposes I used the following provider:
#include <konkret/konkret.h>
#include "LMI_AccountInstCreationIndication.h"
#include "ind_manager.h"
#include <stdbool.h>
static const CMPIBroker* _cb = NULL;
static IMManager *im = NULL;
IMError im_err = IM_ERR_OK;
static bool filter_checker(const CMPISelectExp *filter)
{
//TODO - true checking
return true;
}
// TODO - remove !
#include <unistd.h>
static bool spawner(void *data)
{
//TODO - true checking
return true;
}
// TODO - remove !
#include <unistd.h>
static bool spawner(void *data)
{
//TODO - inotify
sleep(10);
return true;
}
static void LMI_AccountInstCreationIndicationInitialize()
{
// startup indication manager
im = im_create_manager(NULL, filter_checker, true, spawner,
IM_IND_CREATION, (CMPIBroker *)_cb, &im_err);
}
static CMPIStatus LMI_AccountInstCreationIndicationIndicationCleanup(
CMPIIndicationMI* mi,
const CMPIContext* cc,
CMPIBoolean term)
{
// destroy indication manager
im_destroy_manager(im, cc, &im_err);
CMReturn(CMPI_RC_OK);
}
static CMPIStatus LMI_AccountInstCreationIndicationAuthorizeFilter(
CMPIIndicationMI* mi,
const CMPIContext* cc,
const CMPISelectExp* se,
const char* ns,
const CMPIObjectPath* op,
const char* user)
{
// verify filter
im_verify_filter(im, se, cc, &im_err);
CMReturn(CMPI_RC_OK);
}
static CMPIStatus LMI_AccountInstCreationIndicationMustPoll(
CMPIIndicationMI* mi,
const CMPIContext* cc,
const CMPISelectExp* se,
const char* ns,
const CMPIObjectPath* op)
{
// yes, this is not supported :(
CMReturn(CMPI_RC_ERR_NOT_SUPPORTED);
}
static CMPIStatus LMI_AccountInstCreationIndicationActivateFilter(
CMPIIndicationMI* mi,
const CMPIContext* cc,
const CMPISelectExp* se,
const char* ns,
const CMPIObjectPath* op,
CMPIBoolean firstActivation)
{
// verify filter and add it via indication manager
im_verify_filter(im, se, cc, &im_err);
im_add_filter(im, (CMPISelectExp*)se, cc, &im_err);
CMReturn(CMPI_RC_OK);
}
static CMPIStatus LMI_AccountInstCreationIndicationDeActivateFilter(
CMPIIndicationMI* mi,
const CMPIContext* cc,
const CMPISelectExp* se,
const char* ns,
const CMPIObjectPath* op,
CMPIBoolean lastActivation)
{
// remove filter from indication manager
im_remove_filter(im, se, cc, &im_err);
CMReturn(CMPI_RC_OK);
}
static CMPIStatus LMI_AccountInstCreationIndicationEnableIndications(
CMPIIndicationMI* mi,
const CMPIContext* cc)
{
// start indications
im_start_ind(im, cc, &im_err);
CMReturn(CMPI_RC_OK);
}
static CMPIStatus LMI_AccountInstCreationIndicationDisableIndications(
CMPIIndicationMI* mi,
const CMPIContext* cc)
{
// stop indications
im_stop_ind(im, cc, &im_err);
CMReturn(CMPI_RC_OK);
}
CMIndicationMIStub(
LMI_AccountInstCreationIndication,
LMI_AccountInstCreationIndication,
_cb,
LMI_AccountInstCreationIndicationInitialize())
KONKRET_REGISTRATION(
"root/cimv2",
"LMI_AccountInstCreationIndication",
"LMI_AccountInstCreationIndication",
"indication")
Thanks,
Roman Rakus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.fedorahosted.org/pipermail/openlmi-devel/attachments/20130527/268fce26/attachment-0001.html>
More information about the openlmi-devel
mailing list