version 1.2, 2002/04/20 21:15:30
|
version 1.5, 2002/06/10 20:33:51
|
|
|
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
// | // |
// Copyright (c) 2000, 2001 BMC Software, Hewlett-Packard Company, IBM, |
// Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM, |
// The Open Group, Tivoli Systems | // The Open Group, Tivoli Systems |
// | // |
// 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 |
|
|
#include <Pegasus/Common/Config.h> | #include <Pegasus/Common/Config.h> |
| |
#include <iostream> | #include <iostream> |
#include <cassert> |
|
#include <cstdio> | #include <cstdio> |
#include <cctype> | #include <cctype> |
#include <ctime> | #include <ctime> |
|
|
_staticConsumers(staticConsumers), | _staticConsumers(staticConsumers), |
_persistence(persistence) | _persistence(persistence) |
{ | { |
const char METHOD_NAME[] = "CIMListener::CIMListener()"; |
PEG_METHOD_ENTER(TRC_SERVER, "CIMListener::CIMListener()"); |
|
|
PEG_FUNC_ENTER(TRC_SERVER, METHOD_NAME); |
|
| |
// -- Save the monitor or create a new one: | // -- Save the monitor or create a new one: |
| |
|
|
| |
_acceptor = new HTTPAcceptor(_monitor, _cimExportRequestDecoder, sslcontext); | _acceptor = new HTTPAcceptor(_monitor, _cimExportRequestDecoder, sslcontext); |
| |
PEG_FUNC_EXIT(TRC_SERVER, METHOD_NAME); |
PEG_METHOD_EXIT(); |
} | } |
| |
CIMListener::~CIMListener() | CIMListener::~CIMListener() |
{ | { |
const char METHOD_NAME[] = "CIMListener::~CIMListener()"; |
PEG_METHOD_ENTER(TRC_SERVER, "CIMListener::~CIMListener()"); |
|
|
PEG_FUNC_ENTER(TRC_SERVER, METHOD_NAME); |
|
| |
// Note: do not delete the acceptor because it belongs to the Monitor | // Note: do not delete the acceptor because it belongs to the Monitor |
// which takes care of disposing of it. | // which takes care of disposing of it. |
| |
PEG_FUNC_EXIT(TRC_SERVER, METHOD_NAME); |
PEG_METHOD_EXIT(); |
} | } |
| |
void CIMListener::bind(Uint32 port) | void CIMListener::bind(Uint32 port) |
{ | { |
const char METHOD_NAME[] = "CIMListener::bind()"; |
PEG_METHOD_ENTER(TRC_SERVER, "CIMListener::bind()"); |
|
|
PEG_FUNC_ENTER(TRC_SERVER, METHOD_NAME); |
|
| |
// not the best place to build the service url, but it works for now | // not the best place to build the service url, but it works for now |
// because the address string is accessible mdday | // because the address string is accessible mdday |
| |
_acceptor->bind(port); | _acceptor->bind(port); |
| |
PEG_FUNC_EXIT(TRC_SERVER, METHOD_NAME); |
PEG_METHOD_EXIT(); |
} | } |
| |
void CIMListener::runForever() | void CIMListener::runForever() |
|
|
| |
void CIMListener::stopClientConnection() | void CIMListener::stopClientConnection() |
{ | { |
const char METHOD_NAME[] = "CIMListener::stopClientConnection()"; |
PEG_METHOD_ENTER(TRC_SERVER, "CIMListener::stopClientConnection()"); |
|
|
PEG_FUNC_ENTER(TRC_SERVER, METHOD_NAME); |
|
| |
_acceptor->closeConnectionSocket(); | _acceptor->closeConnectionSocket(); |
| |
PEG_FUNC_EXIT(TRC_SERVER, METHOD_NAME); |
PEG_METHOD_EXIT(); |
} | } |
| |
void CIMListener::shutdown() | void CIMListener::shutdown() |
{ | { |
const char METHOD_NAME[] = "CIMListener::shutdown()"; |
PEG_METHOD_ENTER(TRC_SERVER, "CIMListener::shutdown()"); |
|
|
PEG_FUNC_ENTER(TRC_SERVER, METHOD_NAME); |
|
| |
_dieNow = true; | _dieNow = true; |
| |
PEG_FUNC_EXIT(TRC_SERVER, METHOD_NAME); |
PEG_METHOD_EXIT(); |
} | } |
| |
void CIMListener::resume() | void CIMListener::resume() |
{ | { |
const char METHOD_NAME[] = "CIMListener::resume()"; |
PEG_METHOD_ENTER(TRC_SERVER, "CIMListener::resume()"); |
|
|
PEG_FUNC_ENTER(TRC_SERVER, METHOD_NAME); |
|
| |
_acceptor->reopenConnectionSocket(); | _acceptor->reopenConnectionSocket(); |
| |
PEG_FUNC_EXIT(TRC_SERVER, METHOD_NAME); |
PEG_METHOD_EXIT(); |
} | } |
| |
CIMExportRequestDispatcher* CIMListener::getDispatcher() | CIMExportRequestDispatcher* CIMListener::getDispatcher() |
{ | { |
const char METHOD_NAME[] = "CIMListener::getDispatcher()"; |
PEG_METHOD_ENTER(TRC_SERVER, "CIMListener::getDispatcher()"); |
| |
PEG_FUNC_ENTER(TRC_SERVER, METHOD_NAME); |
PEG_METHOD_EXIT(); |
|
|
PEG_FUNC_EXIT(TRC_SERVER, METHOD_NAME); |
|
| |
return _cimExportRequestDispatcher; | return _cimExportRequestDispatcher; |
} | } |
| |
Uint32 CIMListener::getOutstandingRequestCount() | Uint32 CIMListener::getOutstandingRequestCount() |
{ | { |
const char METHOD_NAME[] = "CIMListener::getOutstandingRequestCount()"; |
PEG_METHOD_ENTER(TRC_SERVER, "CIMListener::getOutstandingRequestCount()"); |
|
|
PEG_FUNC_ENTER(TRC_SERVER, METHOD_NAME); |
|
| |
PEG_FUNC_EXIT(TRC_SERVER, METHOD_NAME); |
PEG_METHOD_EXIT(); |
| |
return (_acceptor->getOutstandingRequestCount()); | return (_acceptor->getOutstandingRequestCount()); |
} | } |