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

Diff for /pegasus/src/Pegasus/ProviderManager2/Attic/ProviderManagerService.h between version 1.13 and 1.31

version 1.13, 2004/03/31 15:13:11 version 1.31, 2006/01/30 16:18:01
Line 1 
Line 1 
 //%2003////////////////////////////////////////////////////////////////////////  //%2006////////////////////////////////////////////////////////////////////////
 // //
 // 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.
   // 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
Line 34 
Line 40 
 //                (carolann_graves@hp.com) //                (carolann_graves@hp.com)
 //              Mike Day, IBM (mdday@us.ibm.com) //              Mike Day, IBM (mdday@us.ibm.com)
 //              Adrian Schuur, IBM (schuur@de.ibm.com) //              Adrian Schuur, IBM (schuur@de.ibm.com)
   //              Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
Line 41 
Line 48 
 #define Pegasus_ProviderManagerService_h #define Pegasus_ProviderManagerService_h
  
 #include <Pegasus/Common/Config.h> #include <Pegasus/Common/Config.h>
 #include <Pegasus/Common/Thread.h>  
 #include <Pegasus/Common/Array.h>  
 #include <Pegasus/Common/Pair.h>  
 #include <Pegasus/Common/MessageQueueService.h> #include <Pegasus/Common/MessageQueueService.h>
   #include <Pegasus/Common/CIMMessage.h>
   #include <Pegasus/Common/OperationContextInternal.h>
   #include <Pegasus/Common/AutoPtr.h>
 #include <Pegasus/Repository/CIMRepository.h> #include <Pegasus/Repository/CIMRepository.h>
   #include <Pegasus/Server/ProviderRegistrationManager/ProviderRegistrationManager.h>
  
 #include <Pegasus/ProviderManager2/SafeQueue.h> #include <Pegasus/ProviderManager2/SafeQueue.h>
 #include <Pegasus/ProviderManager2/ProviderManager.h>  #include <Pegasus/ProviderManager2/ProviderManagerRouter.h>
  
 #include <Pegasus/ProviderManager2/Linkage.h> #include <Pegasus/ProviderManager2/Linkage.h>
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
 #define IDLE_LIMIT 100  #define IDLE_LIMIT 300
   
 class ProviderRegistrationManager;  
 class ProviderManager;  
  
 class PEGASUS_PPM_LINKAGE ProviderManagerService : public MessageQueueService class PEGASUS_PPM_LINKAGE ProviderManagerService : public MessageQueueService
 { {
    friend class CMPIProviderManager;  
 public: public:
     static ProviderManagerService* providerManagerService;      ProviderManagerService(
           ProviderRegistrationManager* providerRegistrationManager,
     ProviderManagerService(void);  
     ProviderManagerService(ProviderRegistrationManager * providerRegistrationManager,  
                            CIMRepository * repository);                            CIMRepository * repository);
  
       virtual ~ProviderManagerService();
   
       void unloadIdleProviders();
  
     virtual ~ProviderManagerService(void);      static void indicationCallback(CIMProcessIndicationRequestMessage* request);
       static void handleCimResponse(
           CIMRequestMessage& request, CIMResponseMessage& response);
  
     // temp  private:
     void unload_idle_providers(void);      ProviderManagerService();
  
 protected:  
     virtual Boolean messageOK(const Message * message);     virtual Boolean messageOK(const Message * message);
     virtual void handleEnqueue(void);      virtual void handleEnqueue();
     virtual void handleEnqueue(Message * message);     virtual void handleEnqueue(Message * message);
  
     virtual void _handle_async_request(AsyncRequest * request);     virtual void _handle_async_request(AsyncRequest * request);
  
     static CIMRepository* _repository;      static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL handleCimOperation(
           void* arg) ;
  
 private:      void handleCimRequest(AsyncOpNode* op, Message* message);
     //static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL handleServiceOperation(void * arg) throw();  
  
     //void handleStartService() thorw();      Message* _processMessage(CIMRequestMessage* request);
     //void handleStopService() thorw();  
     //void handlePauseService() thorw();  
     //void handleResumeService() thorw();  
  
     static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL handleCimOperation(void * arg) throw();      static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL
           _unloadIdleProvidersHandler(void* arg) throw();
  
     ProviderManager *locateProviderManager(const Message *m, String &itf);      void _updateProviderModuleStatus(
     void handleCimRequest(AsyncOpNode *op, const Message * message);          CIMInstance& providerModule,
           Uint16 fromStatus,
           Uint16 toStatus);
   
       static ProviderManagerService* providerManagerService;
   
       CIMRepository* _repository;
  
 private:  
     SafeQueue<AsyncOpNode *> _incomingQueue;     SafeQueue<AsyncOpNode *> _incomingQueue;
     SafeQueue<AsyncOpNode *> _outgoingQueue;     SafeQueue<AsyncOpNode *> _outgoingQueue;
  
 private:      ProviderManagerRouter* _basicProviderManagerRouter;
     //Array<Pair<ProviderManager *, ProviderManagerModule> > _providerManagers;      ProviderManagerRouter* _oopProviderManagerRouter;
   
       ProviderRegistrationManager* _providerRegistrationManager;
   
       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;
   
  
 }; };
  


Legend:
Removed from v.1.13  
changed lines
  Added in v.1.31

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2