version 1.18, 2004/05/18 23:58:41
|
version 1.25, 2004/10/17 20:40:01
|
|
|
//%2003//////////////////////////////////////////////////////////////////////// |
//%2004//////////////////////////////////////////////////////////////////////// |
// | // |
// 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. |
// | // |
// 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 |
|
|
virtual ~ProviderManagerService(void); | virtual ~ProviderManagerService(void); |
| |
// temp | // temp |
void unload_idle_providers(void); |
void unloadIdleProviders(); |
| |
static void indicationCallback( |
static void indicationCallback(CIMProcessIndicationRequestMessage* request); |
CIMProcessIndicationRequestMessage* request); |
|
| |
protected: | protected: |
virtual Boolean messageOK(const Message * message); | virtual Boolean messageOK(const Message * message); |
|
|
| |
virtual void _handle_async_request(AsyncRequest * request); | virtual void _handle_async_request(AsyncRequest * request); |
| |
static CIMRepository* _repository; |
CIMRepository* _repository; |
| |
private: | private: |
//static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL handleServiceOperation(void * arg) throw(); | //static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL handleServiceOperation(void * arg) throw(); |
|
|
//void handleResumeService() thorw(); | //void handleResumeService() thorw(); |
| |
static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL handleCimOperation( | static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL handleCimOperation( |
void * arg) throw(); |
void * arg) ; |
| |
void handleCimRequest(AsyncOpNode *op, Message* message); | void handleCimRequest(AsyncOpNode *op, Message* message); |
| |
ProviderIdContainer _getProviderIdContainer( |
static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL |
const CIMRequestMessage* message); |
_unloadIdleProvidersHandler(void* arg) throw(); |
| |
void _updateProviderModuleStatus( | void _updateProviderModuleStatus( |
CIMInstance& providerModule, | CIMInstance& providerModule, |
|
|
ProviderRegistrationManager* _providerRegistrationManager; | ProviderRegistrationManager* _providerRegistrationManager; |
| |
static Uint32 _indicationServiceQueueId; | static Uint32 _indicationServiceQueueId; |
|
|
|
/** |
|
Indicates the number of threads currently attempting to unload idle |
|
providers. This value is used to prevent multiple threads from |
|
unloading idle providers at the same time. |
|
*/ |
|
AtomicInt _unloadIdleProvidersBusy; |
}; | }; |
| |
PEGASUS_NAMESPACE_END | PEGASUS_NAMESPACE_END |