version 1.1, 2004/04/30 10:27:25
|
version 1.8, 2006/01/30 16:18:10
|
|
|
//%///////////////////////////////////////////////////////////////////////////// |
//%2006//////////////////////////////////////////////////////////////////////// |
// | // |
// 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. |
|
// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; |
|
// EMC Corporation; Symantec 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); |
/** |
|
Gets list of indication providers to be enabled. |
|
Once IndicationService initialization has been completed, the |
|
enableIndications() method must be called on each indication provider |
|
that has current subscriptions. |
|
|
|
@return list of providers whose enableIndications() method must be |
|
called |
|
*/ |
|
Array <JMPIProvider *> getIndicationProvidersToEnable (); |
| |
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 _providerTableMutex; |
| |
|
static int trace; |
protected: | protected: |
| |
}; | }; |