(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 karl  1.4 // 
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 chip  1.1 //
37           //%/////////////////////////////////////////////////////////////////////////////
38           
39           #ifndef Pegasus_ProviderManagerService_h
40           #define Pegasus_ProviderManagerService_h
41           
42           #include <Pegasus/Common/Config.h>
43           #include <Pegasus/Common/Thread.h>
44           #include <Pegasus/Common/Array.h>
45           #include <Pegasus/Common/Pair.h>
46           #include <Pegasus/Common/MessageQueueService.h>
47           
48           #include <Pegasus/ProviderManager2/ProviderManagerModule.h>
49           #include <Pegasus/ProviderManager2/ProviderManager.h>
50           #include <Pegasus/ProviderManager2/SafeQueue.h>
51           
52           #include <Pegasus/Server/Linkage.h>
53           
54           PEGASUS_NAMESPACE_BEGIN
55           
56           class PEGASUS_SERVER_LINKAGE ProviderManagerService : public MessageQueueService
57 chip  1.1 {
58           public:
59               ProviderManagerService(void);
60               // temp
61               ProviderManagerService(ProviderRegistrationManager * providerRegistrationManager);
62           
63               virtual ~ProviderManagerService(void);
64           
65               // temp
66               void unload_idle_providers(void);
67           
68           protected:
69               virtual Boolean messageOK(const Message * message);
70               virtual void handleEnqueue(void);
71               virtual void handleEnqueue(Message * message);
72           
73               virtual void _handle_async_request(AsyncRequest * request);
74           
75           private:
76               //static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL handleServiceOperation(void * arg) throw();
77           
78 chip  1.1     //void handleStartService() thorw();
79               //void handleStopService() thorw();
80               //void handlePauseService() thorw();
81               //void handleResumeService() thorw();
82           
83               static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL handleCimOperation(void * arg) throw();
84           
85 chip  1.2     void handleCimRequest(AsyncOpNode *op, const Message * message);
86 chip  1.1 
87           private:
88               SafeQueue<AsyncOpNode *> _incomingQueue;
89               SafeQueue<AsyncOpNode *> _outgoingQueue;
90           
91           private:
92 chip  1.3     //Array<Pair<ProviderManager *, ProviderManagerModule> > _providerManagers;
93 chip  1.1 
94           };
95           
96           PEGASUS_NAMESPACE_END
97           
98           #endif

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2