version 1.10.10.1, 2006/01/18 17:38:02
|
version 1.14.12.1, 2007/03/07 16:04:38
|
|
|
//%2005//////////////////////////////////////////////////////////////////////// |
//%2006//////////////////////////////////////////////////////////////////////// |
// | // |
// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development | // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development |
// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. | // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. |
|
|
// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. | // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. |
// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; | // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; |
// EMC Corporation; VERITAS Software Corporation; The Open Group. | // EMC Corporation; VERITAS Software Corporation; The Open Group. |
|
// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; |
|
// EMC Corporation; Symantec Corporation; The Open Group. |
// | // |
// Permission is hereby granted, free of charge, to any person obtaining a copy | // Permission is hereby granted, free of charge, to any person obtaining a copy |
// of this software and associated documentation files (the "Software"), to | // of this software and associated documentation files (the "Software"), to |
|
|
// | // |
//============================================================================== | //============================================================================== |
// | // |
// |
|
// Author: Dong Xiang, EMC Corporation (xiang_dong@emc.com) |
|
// |
|
// Modified By: Seema Gupta (gseema@in.ibm.com) for PEP135 |
|
// |
|
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
| |
#include "CIMListenerIndicationDispatcher.h" | #include "CIMListenerIndicationDispatcher.h" |
|
|
CIMExportIndicationResponseMessage* handleIndicationRequest(CIMExportIndicationRequestMessage* request); | CIMExportIndicationResponseMessage* handleIndicationRequest(CIMExportIndicationRequestMessage* request); |
| |
| |
static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL deliver_routine(void *param); |
static ThreadReturnType PEGASUS_THREAD_CDECL deliver_routine(void *param); |
| |
private: | private: |
void deliverIndication(String url, CIMInstance instance, ContentLanguageList contentLangs); | void deliverIndication(String url, CIMInstance instance, ContentLanguageList contentLangs); |
|
|
ContentLanguageList contentLangs) | ContentLanguageList contentLangs) |
{ | { |
// go thru all consumers and broadcast the result; should be run in seperate thread | // go thru all consumers and broadcast the result; should be run in seperate thread |
Iterator* it = _consumers->iterator(); |
AutoPtr<Iterator> it(_consumers->iterator()); |
while(it->hasNext()==true) | while(it->hasNext()==true) |
{ | { |
CIMIndicationConsumer* consumer = static_cast<CIMIndicationConsumer*>(it->next()); | CIMIndicationConsumer* consumer = static_cast<CIMIndicationConsumer*>(it->next()); |
|
|
| |
if (rtn != PEGASUS_THREAD_OK) | if (rtn != PEGASUS_THREAD_OK) |
{ | { |
Logger::put(Logger::STANDARD_LOG, System::CIMSERVER, Logger::TRACE, |
Logger::put(Logger::STANDARD_LOG, System::CIMLISTENER, Logger::TRACE, |
"Not enough threads to allocate a worker to deliver the event. "); | "Not enough threads to allocate a worker to deliver the event. "); |
| |
Tracer::trace(TRC_SERVER, Tracer::LEVEL2, | Tracer::trace(TRC_SERVER, Tracer::LEVEL2, |
|
|
} | } |
} | } |
} | } |
PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL CIMListenerIndicationDispatcherRep::deliver_routine(void *param) |
ThreadReturnType PEGASUS_THREAD_CDECL CIMListenerIndicationDispatcherRep::deliver_routine(void *param) |
{ | { |
CIMListenerIndicationDispatchEvent* event = static_cast<CIMListenerIndicationDispatchEvent*>(param); | CIMListenerIndicationDispatchEvent* event = static_cast<CIMListenerIndicationDispatchEvent*>(param); |
| |