version 1.39, 2003/04/09 16:28:55
|
version 1.40, 2003/04/16 00:17:14
|
|
|
PEGASUS_NAMESPACE_BEGIN | PEGASUS_NAMESPACE_BEGIN |
| |
| |
const String TimeoutContainer::NAME = "TimeoutContainer"; |
|
|
|
TimeoutContainer::TimeoutContainer(const OperationContext::Container & container) |
|
{ |
|
const TimeoutContainer * p = dynamic_cast<const TimeoutContainer *>(&container); |
|
if(p == 0) |
|
{ |
|
throw DynamicCastFailedException(); |
|
} |
|
_value = p->_value; |
|
} |
|
|
|
TimeoutContainer::TimeoutContainer(Uint32 timeout) |
|
{ |
|
_value = timeout; |
|
} |
|
|
|
String TimeoutContainer::getName(void) const |
|
{ |
|
return (NAME); |
|
} |
|
|
|
OperationContext::Container * TimeoutContainer::clone(void) const |
|
{ |
|
return (new TimeoutContainer(_value)); |
|
} |
|
|
|
void TimeoutContainer::destroy(void) |
|
{ |
|
delete this; |
|
} |
|
|
|
Uint32 TimeoutContainer::getTimeOut(void) const |
|
{ |
|
return _value; |
|
} |
|
|
|
|
|
| |
class CIMOMHandle; | class CIMOMHandle; |
class cimom_handle_op_semaphore; | class cimom_handle_op_semaphore; |
|
|
virtual void handleEnqueue(Message *); | virtual void handleEnqueue(Message *); |
virtual void handleEnqueue(void); | virtual void handleEnqueue(void); |
| |
Message *do_request(Message *, Uint32 response_type, const OperationContext & context) |
Message *do_request(Message *, Uint32 response_type, const OperationContext & context) ; |
throw(); |
|
| |
static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL _dispatch(void *); | static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL _dispatch(void *); |
MessageQueue * q_exists(Uint32 qid) const | MessageQueue * q_exists(Uint32 qid) const |
|
|
Message *CIMOMHandle::_cimom_handle_rep::do_request(Message *request, | Message *CIMOMHandle::_cimom_handle_rep::do_request(Message *request, |
Uint32 response_type, | Uint32 response_type, |
const OperationContext & context) | const OperationContext & context) |
throw() |
|
{ | { |
PEG_METHOD_ENTER(TRC_CIMOM_HANDLE, | PEG_METHOD_ENTER(TRC_CIMOM_HANDLE, |
"CIMOMHandle::_cimom_handle_rep::do_request(Message *, Uint32, Uint32)"); | "CIMOMHandle::_cimom_handle_rep::do_request(Message *, Uint32, Uint32)"); |
|
|
{ | { |
_recursion.try_lock(pegasus_thread_self()); | _recursion.try_lock(pegasus_thread_self()); |
} | } |
catch(AlreadyLocked & ) |
catch(IPCException &) |
{ |
|
PEG_TRACE_STRING(TRC_CIMOM_HANDLE, Tracer::LEVEL4, |
|
"AlreadyLocked Exception, throwing Deadlock"); |
|
throw Deadlock(pegasus_thread_self()); |
|
} |
|
catch(Deadlock & ) |
|
{ | { |
PEG_TRACE_STRING(TRC_CIMOM_HANDLE, Tracer::LEVEL4, | PEG_TRACE_STRING(TRC_CIMOM_HANDLE, Tracer::LEVEL4, |
"Deadlock Exception"); |
"IPC Exception, throwing CIMException"); |
throw; |
throw CIMException(CIM_ERR_ACCESS_DENIED, "Recursive Use of CIMOMHandle Attempted"); |
} | } |
|
|
catch(...) | catch(...) |
{ | { |
PEG_TRACE_STRING(TRC_CIMOM_HANDLE, Tracer::LEVEL4, | PEG_TRACE_STRING(TRC_CIMOM_HANDLE, Tracer::LEVEL4, |