(file) Return to ProviderManagerService.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / ProviderManager2

  1 karl  1.4 //%2003////////////////////////////////////////////////////////////////////////
  2 chip  1.1 //
  3 karl  1.4 // Copyright (c) 2000, 2001, 2002  BMC Software, Hewlett-Packard Development
  4           // Company, L. P., IBM Corp., The Open Group, Tivoli Systems.
  5           // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.;
  6           // IBM Corp.; EMC Corporation, The Open Group.
  7 chip  1.1 //
  8           // Permission is hereby granted, free of charge, to any person obtaining a copy
  9           // of this software and associated documentation files (the "Software"), to
 10           // deal in the Software without restriction, including without limitation the
 11           // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 12           // sell copies of the Software, and to permit persons to whom the Software is
 13           // furnished to do so, subject to the following conditions:
 14 chip  1.5 //
 15 chip  1.1 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
 16           // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
 17           // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
 18           // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 19           // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 20           // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
 21           // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 22           // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 23           //
 24           //==============================================================================
 25           //
 26           // Author: Chip Vincent (cvincent@us.ibm.com)
 27           //
 28           // Modified By:
 29           //              Nag Boranna, Hewlett-Packard Company(nagaraja_boranna@hp.com)
 30           //              Yi Zhou, Hewlett-Packard Company(yi_zhou@hp.com)
 31           //              Jenny Yu, Hewlett-Packard Company (jenny_yu@hp.com)
 32           //              Nitin Upasani, Hewlett-Packard Company (Nitin_Upasani@hp.com)
 33           //              Carol Ann Krug Graves, Hewlett-Packard Company
 34           //                (carolann_graves@hp.com)
 35           //              Mike Day, IBM (mdday@us.ibm.com)
 36 schuur 1.6 //              Adrian Schuur, IBM (schuur@de.ibm.com)
 37 chip   1.1 //
 38            //%/////////////////////////////////////////////////////////////////////////////
 39            
 40            #ifndef Pegasus_ProviderManagerService_h
 41            #define Pegasus_ProviderManagerService_h
 42            
 43            #include <Pegasus/Common/Config.h>
 44            #include <Pegasus/Common/Thread.h>
 45            #include <Pegasus/Common/Array.h>
 46            #include <Pegasus/Common/Pair.h>
 47            #include <Pegasus/Common/MessageQueueService.h>
 48            
 49            #include <Pegasus/ProviderManager2/SafeQueue.h>
 50            
 51 schuur 1.8.2.1 #include <Pegasus/Server/Linkage.h>
 52 chip   1.1     
 53                PEGASUS_NAMESPACE_BEGIN
 54 chip   1.5     
 55                class ProviderRegistrationManager;
 56 schuur 1.6     class ProviderManager;
 57 chip   1.1     
 58 schuur 1.8.2.1 class PEGASUS_SERVER_LINKAGE ProviderManagerService : public MessageQueueService
 59 chip   1.1     {
 60                public:
 61 schuur 1.6         static ProviderManagerService* providerManagerService;
 62 chip   1.1         ProviderManagerService(void);
 63 schuur 1.6       // temp
 64 chip   1.1         ProviderManagerService(ProviderRegistrationManager * providerRegistrationManager);
 65                
 66                    virtual ~ProviderManagerService(void);
 67                
 68                    // temp
 69                    void unload_idle_providers(void);
 70                
 71                protected:
 72                    virtual Boolean messageOK(const Message * message);
 73                    virtual void handleEnqueue(void);
 74                    virtual void handleEnqueue(Message * message);
 75                
 76                    virtual void _handle_async_request(AsyncRequest * request);
 77                
 78                private:
 79                    //static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL handleServiceOperation(void * arg) throw();
 80                
 81                    //void handleStartService() thorw();
 82                    //void handleStopService() thorw();
 83                    //void handlePauseService() thorw();
 84                    //void handleResumeService() thorw();
 85 chip   1.1     
 86                    static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL handleCimOperation(void * arg) throw();
 87                
 88 schuur 1.7         ProviderManager *locateProviderManager(const Message *m, String &itf);
 89 chip   1.2         void handleCimRequest(AsyncOpNode *op, const Message * message);
 90 chip   1.1     
 91                private:
 92                    SafeQueue<AsyncOpNode *> _incomingQueue;
 93                    SafeQueue<AsyncOpNode *> _outgoingQueue;
 94                
 95                private:
 96 chip   1.3         //Array<Pair<ProviderManager *, ProviderManagerModule> > _providerManagers;
 97 chip   1.1     
 98                };
 99                
100                PEGASUS_NAMESPACE_END
101                
102                #endif

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2