version 1.74, 2002/03/27 23:17:12
|
version 1.75, 2002/03/28 20:39:19
|
|
|
#include <cstdio> | #include <cstdio> |
#include <cctype> | #include <cctype> |
#include <ctime> | #include <ctime> |
|
#include <Pegasus/Common/Constants.h> |
#include <Pegasus/Common/FileSystem.h> | #include <Pegasus/Common/FileSystem.h> |
#include <Pegasus/Common/HTTPAcceptor.h> | #include <Pegasus/Common/HTTPAcceptor.h> |
#include <Pegasus/Common/Tracer.h> | #include <Pegasus/Common/Tracer.h> |
|
|
Boolean useSSL) | Boolean useSSL) |
: _dieNow(false), _useSSL(useSSL) | : _dieNow(false), _useSSL(useSSL) |
{ | { |
const char METHOD_NAME[] = "CIMServer::CIMServer()"; |
PEG_METHOD_ENTER(TRC_SERVER, "CIMServer::CIMServer()"); |
|
|
PEG_FUNC_ENTER(TRC_SERVER, METHOD_NAME); |
|
| |
static const char CERTIFICATE[] = "/server.pem"; | static const char CERTIFICATE[] = "/server.pem"; |
| |
|
|
| |
if (!FileSystem::isDirectory(repositoryRootPath)) | if (!FileSystem::isDirectory(repositoryRootPath)) |
{ | { |
PEG_FUNC_EXIT(TRC_SERVER, METHOD_NAME); |
PEG_METHOD_EXIT(); |
throw NoSuchDirectory(repositoryRootPath); | throw NoSuchDirectory(repositoryRootPath); |
} | } |
| |
|
|
_handlerService = new IndicationHandlerService(_repository); | _handlerService = new IndicationHandlerService(_repository); |
| |
// Create the control service | // Create the control service |
ModuleController* controlService = new ModuleController("ModuleController"); |
ModuleController* controlService = |
|
new ModuleController(PEGASUS_SERVICENAME_CONTROLSERVICE); |
| |
// Create the Configuration control provider | // Create the Configuration control provider |
ProviderMessageFacade * configProvider = | ProviderMessageFacade * configProvider = |
new ProviderMessageFacade(new ConfigSettingProvider()); | new ProviderMessageFacade(new ConfigSettingProvider()); |
ModuleController::register_module("ModuleController", |
ModuleController::register_module(PEGASUS_SERVICENAME_CONTROLSERVICE, |
"ModuleController::ConfigProvider", |
PEGASUS_MODULENAME_CONFIGPROVIDER, |
configProvider, | configProvider, |
controlProviderReceiveMessageCallback, | controlProviderReceiveMessageCallback, |
0, 0); | 0, 0); |
|
|
// Create the User/Authorization control provider | // Create the User/Authorization control provider |
ProviderMessageFacade * userAuthProvider = | ProviderMessageFacade * userAuthProvider = |
new ProviderMessageFacade(new UserAuthProvider(_repository)); | new ProviderMessageFacade(new UserAuthProvider(_repository)); |
ModuleController::register_module("ModuleController", |
ModuleController::register_module(PEGASUS_SERVICENAME_CONTROLSERVICE, |
"ModuleController::UserAuthProvider", |
PEGASUS_MODULENAME_USERAUTHPROVIDER, |
userAuthProvider, | userAuthProvider, |
controlProviderReceiveMessageCallback, | controlProviderReceiveMessageCallback, |
0, 0); | 0, 0); |
|
|
// Create the Provider Registration control provider | // Create the Provider Registration control provider |
ProviderMessageFacade * provRegProvider = new ProviderMessageFacade( | ProviderMessageFacade * provRegProvider = new ProviderMessageFacade( |
new ProviderRegistrationProvider(_providerRegistrationManager)); | new ProviderRegistrationProvider(_providerRegistrationManager)); |
ModuleController::register_module("ModuleController", |
ModuleController::register_module(PEGASUS_SERVICENAME_CONTROLSERVICE, |
"ModuleController::ProviderRegistrationProvider", |
PEGASUS_MODULENAME_PROVREGPROVIDER, |
provRegProvider, | provRegProvider, |
controlProviderReceiveMessageCallback, | controlProviderReceiveMessageCallback, |
0, 0); | 0, 0); |
|
|
*/ | */ |
//_cimOperationRequestDispatcher->loadRegisteredProviders(); | //_cimOperationRequestDispatcher->loadRegisteredProviders(); |
| |
PEG_FUNC_EXIT(TRC_SERVER, METHOD_NAME); |
PEG_METHOD_EXIT(); |
} | } |
| |
CIMServer::~CIMServer() | CIMServer::~CIMServer() |
{ | { |
const char METHOD_NAME[] = "CIMServer::~CIMServer()"; |
PEG_METHOD_ENTER(TRC_SERVER, "CIMServer::~CIMServer()"); |
|
|
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 CIMServer::bind(Uint32 port) | void CIMServer::bind(Uint32 port) |
{ | { |
const char METHOD_NAME[] = "CIMServer::bind()"; |
PEG_METHOD_ENTER(TRC_SERVER, "CIMServer::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 CIMServer::runForever() | void CIMServer::runForever() |
|
|
| |
void CIMServer::stopClientConnection() | void CIMServer::stopClientConnection() |
{ | { |
const char METHOD_NAME[] = "CIMServer::stopClientConnection()"; |
PEG_METHOD_ENTER(TRC_SERVER, "CIMServer::stopClientConnection()"); |
|
|
PEG_FUNC_ENTER(TRC_SERVER, METHOD_NAME); |
|
| |
_acceptor->closeConnectionSocket(); | _acceptor->closeConnectionSocket(); |
| |
PEG_FUNC_EXIT(TRC_SERVER, METHOD_NAME); |
PEG_METHOD_EXIT(); |
} | } |
| |
void CIMServer::shutdown() | void CIMServer::shutdown() |
{ | { |
const char METHOD_NAME[] = "CIMServer::shutdown()"; |
PEG_METHOD_ENTER(TRC_SERVER, "CIMServer::shutdown()"); |
|
|
PEG_FUNC_ENTER(TRC_SERVER, METHOD_NAME); |
|
| |
_dieNow = true; | _dieNow = true; |
| |
PEG_FUNC_EXIT(TRC_SERVER, METHOD_NAME); |
PEG_METHOD_EXIT(); |
} | } |
| |
void CIMServer::resume() | void CIMServer::resume() |
{ | { |
const char METHOD_NAME[] = "CIMServer::resume()"; |
PEG_METHOD_ENTER(TRC_SERVER, "CIMServer::resume()"); |
|
|
PEG_FUNC_ENTER(TRC_SERVER, METHOD_NAME); |
|
| |
_acceptor->reopenConnectionSocket(); | _acceptor->reopenConnectionSocket(); |
| |
PEG_FUNC_EXIT(TRC_SERVER, METHOD_NAME); |
PEG_METHOD_EXIT(); |
} | } |
| |
CIMOperationRequestDispatcher* CIMServer::getDispatcher() | CIMOperationRequestDispatcher* CIMServer::getDispatcher() |
{ | { |
const char METHOD_NAME[] = "CIMServer::getDispatcher()"; |
PEG_METHOD_ENTER(TRC_SERVER, "CIMServer::getDispatcher()"); |
|
|
PEG_FUNC_ENTER(TRC_SERVER, METHOD_NAME); |
|
|
|
PEG_FUNC_EXIT(TRC_SERVER, METHOD_NAME); |
|
| |
|
PEG_METHOD_EXIT(); |
return _cimOperationRequestDispatcher; | return _cimOperationRequestDispatcher; |
} | } |
| |
void CIMServer::setState(Uint32 state) | void CIMServer::setState(Uint32 state) |
{ | { |
const char METHOD_NAME[] = "CIMServer::setState()"; |
PEG_METHOD_ENTER(TRC_SERVER, "CIMServer::setState()"); |
|
|
PEG_FUNC_ENTER(TRC_SERVER, METHOD_NAME); |
|
| |
_serverState->setState(state); | _serverState->setState(state); |
| |
|
|
_cimOperationRequestDecoder->setServerTerminating(false); | _cimOperationRequestDecoder->setServerTerminating(false); |
_cimExportRequestDecoder->setServerTerminating(false); | _cimExportRequestDecoder->setServerTerminating(false); |
} | } |
PEG_FUNC_EXIT(TRC_SERVER, METHOD_NAME); |
PEG_METHOD_EXIT(); |
} | } |
| |
Uint32 CIMServer::getOutstandingRequestCount() | Uint32 CIMServer::getOutstandingRequestCount() |
{ | { |
const char METHOD_NAME[] = "CIMServer::getOutstandingRequestCount()"; |
PEG_METHOD_ENTER(TRC_SERVER, "CIMServer::getOutstandingRequestCount()"); |
|
|
PEG_FUNC_ENTER(TRC_SERVER, METHOD_NAME); |
|
| |
PEG_FUNC_EXIT(TRC_SERVER, METHOD_NAME); |
Uint32 requestCount = _acceptor->getOutstandingRequestCount(); |
| |
return (_acceptor->getOutstandingRequestCount()); |
PEG_METHOD_EXIT(); |
|
return requestCount; |
} | } |
| |
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |