version 1.1, 2004/04/30 10:27:25
|
version 1.4, 2005/02/05 23:00:32
|
|
|
//%///////////////////////////////////////////////////////////////////////////// |
//%2005//////////////////////////////////////////////////////////////////////// |
// | // |
// Copyright (c) 2000 - 2003 BMC Software, Hewlett-Packard Company, IBM, |
// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development |
// 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.; |
|
// 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 |
|
|
#include <Pegasus/Common/DQueue.h> | #include <Pegasus/Common/DQueue.h> |
#include <Pegasus/Common/HashTable.h> | #include <Pegasus/Common/HashTable.h> |
| |
#include <Pegasus/Provider/CIMNullProvider.h> |
|
|
|
#include <Pegasus/ProviderManager2/JMPI/JMPIProvider.h> | #include <Pegasus/ProviderManager2/JMPI/JMPIProvider.h> |
//#include <Pegasus/ProviderManager2/JMPI/JMPIResolverModule.h> | //#include <Pegasus/ProviderManager2/JMPI/JMPIResolverModule.h> |
#include <Pegasus/ProviderManager2/JMPI/JMPIProviderManager.h> |
|
| |
#include <Pegasus/ProviderManager2/Lockable.h> | #include <Pegasus/ProviderManager2/Lockable.h> |
| |
|
|
| |
void shutdownAllProviders(void); | void shutdownAllProviders(void); |
| |
static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL provider_monitor(void *); |
Boolean hasActiveProviders(); |
|
void unloadIdleProviders(); |
void unload_idle_providers(void); |
|
| |
private: | private: |
enum CTRL | enum CTRL |
|
|
JMPIProvider *_getResolver(const String & fileName, const String & interfaceType); | JMPIProvider *_getResolver(const String & fileName, const String & interfaceType); |
// CMPIResolverModule *_loadResolver(const String & fileName); | // CMPIResolverModule *_loadResolver(const String & fileName); |
Sint32 _provider_ctrl(CTRL code, void *parm, void *ret); | Sint32 _provider_ctrl(CTRL code, void *parm, void *ret); |
AtomicInt _unload_idle_flag; |
|
| |
Mutex _mut; | Mutex _mut; |
| |