version 1.7, 2004/05/27 16:25:18
|
version 1.13, 2005/02/24 20:09:08
|
|
|
//%2003//////////////////////////////////////////////////////////////////////// |
//%2005//////////////////////////////////////////////////////////////////////// |
// | // |
// 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. |
// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.; | // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.; |
// IBM Corp.; EMC Corporation, The Open Group. | // IBM Corp.; EMC Corporation, The Open Group. |
|
// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; |
|
// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. |
|
// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; |
|
// EMC Corporation; VERITAS Software 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 |
|
|
// Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com) | // Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com) |
// Jair Santos, Hewlett-Packard Company (jair.santos@hp.com) | // Jair Santos, Hewlett-Packard Company (jair.santos@hp.com) |
// Dan Gorey, IBM (djgorey@us.ibm.com) | // Dan Gorey, IBM (djgorey@us.ibm.com) |
|
// Mateus Baur, Hewlett-Packard Company (mateus.baur@hp.com) |
// | // |
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
| |
|
|
#include <process.h> /* _beginthread, _endthread */ | #include <process.h> /* _beginthread, _endthread */ |
#include <tchar.h> | #include <tchar.h> |
#include <direct.h> | #include <direct.h> |
|
#include <Pegasus/Common/MessageLoader.h> //l10n |
|
#include <Pegasus/Common/Thread.h> // l10n |
| |
#include "service.cpp" | #include "service.cpp" |
| |
|
|
//------------------------------------------------------------------------- | //------------------------------------------------------------------------- |
// GLOBALS | // GLOBALS |
//------------------------------------------------------------------------- | //------------------------------------------------------------------------- |
CIMServer *server_windows; |
static Mutex _cimserverLock; |
|
static CIMServer *server_windows = 0; |
|
static bool _shutdown = false; |
static Service pegasus_service(PEGASUS_SERVICE_NAME); | static Service pegasus_service(PEGASUS_SERVICE_NAME); |
static HANDLE pegasus_service_event; |
static HANDLE pegasus_service_event = NULL; |
static LPCSTR g_cimservice_key = TEXT("SYSTEM\\CurrentControlSet\\Services\\%s"); | static LPCSTR g_cimservice_key = TEXT("SYSTEM\\CurrentControlSet\\Services\\%s"); |
static LPCSTR g_cimservice_home = TEXT("home"); | static LPCSTR g_cimservice_home = TEXT("home"); |
| |
|
|
ConfigManager::setPegasusHome(pegasusHome); | ConfigManager::setPegasusHome(pegasusHome); |
| |
ConfigManager* configManager = ConfigManager::getInstance(); | ConfigManager* configManager = ConfigManager::getInstance(); |
|
configManager->useConfigFiles = true; |
int dummy = 0; | int dummy = 0; |
| |
try | try |
|
|
| |
// Put server start message to the logger | // Put server start message to the logger |
Logger::put(Logger::STANDARD_LOG, PEGASUS_SERVICE_NAME, Logger::INFORMATION, | Logger::put(Logger::STANDARD_LOG, PEGASUS_SERVICE_NAME, Logger::INFORMATION, |
"Started $0 version $1.", PEGASUS_NAME, PEGASUS_VERSION); |
"Started $0 version $1.", PEGASUS_PRODUCT_NAME, PEGASUS_PRODUCT_VERSION); |
| |
// try loop to bind the address, and run the server | // try loop to bind the address, and run the server |
try | try |
{ | { |
#ifdef PEGASUS_USE_23HTTPMONITOR_CLIENT |
Monitor monitor; |
Monitor monitor(true); |
|
#else |
|
monitor_2 monitor(); |
|
#endif |
|
| |
CIMServer server(&monitor); | CIMServer server(&monitor); |
server_windows = &server; | server_windows = &server; |