(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.5 and 1.29

version 1.5, 2003/10/30 23:14:15 version 1.29, 2005/02/05 23:00:26
Line 1 
Line 1 
 //%2003////////////////////////////////////////////////////////////////////////  //%2005////////////////////////////////////////////////////////////////////////
 // //
 // 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.
 // //
 // 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 33 
Line 37 
 //              Carol Ann Krug Graves, Hewlett-Packard Company //              Carol Ann Krug Graves, Hewlett-Packard Company
 //                (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)
   //              Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com)
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
Line 40 
Line 46 
 #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/Server/ProviderRegistrationManager/ProviderRegistrationManager.h>
  
 #include <Pegasus/ProviderManager2/SafeQueue.h> #include <Pegasus/ProviderManager2/SafeQueue.h>
   #include <Pegasus/ProviderManager2/ProviderManagerRouter.h>
  
 #include <Pegasus/Server/Linkage.h>  #include <Pegasus/ProviderManager2/Linkage.h>
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
 class ProviderRegistrationManager;  #define IDLE_LIMIT 300
  
 class PEGASUS_SERVER_LINKAGE ProviderManagerService : public MessageQueueService  class PEGASUS_PPM_LINKAGE ProviderManagerService : public MessageQueueService
 { {
 public: public:
     ProviderManagerService(void);      ProviderManagerService(
     // temp          ProviderRegistrationManager* providerRegistrationManager,
     ProviderManagerService(ProviderRegistrationManager * providerRegistrationManager);          CIMRepository* repository);
  
     virtual ~ProviderManagerService(void);      virtual ~ProviderManagerService();
  
     // temp      void unloadIdleProviders();
     void unload_idle_providers(void);  
       static void indicationCallback(CIMProcessIndicationRequestMessage* request);
       static void handleCimResponse(
           CIMRequestMessage& request, CIMResponseMessage& response);
   
   private:
       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);
  
 private:      static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL handleCimOperation(
     //static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL handleServiceOperation(void * arg) throw();          void* arg) ;
  
     //void handleStartService() thorw();      void handleCimRequest(AsyncOpNode* op, Message* message);
     //void handleStopService() thorw();  
     //void handlePauseService() thorw();  
     //void handleResumeService() thorw();  
  
     static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL handleCimOperation(void * arg) throw();      Message* _processMessage(CIMRequestMessage* request);
  
     void handleCimRequest(AsyncOpNode *op, const Message * message);      static PEGASUS_THREAD_RETURN PEGASUS_THREAD_CDECL
           _unloadIdleProvidersHandler(void* arg) throw();
   
       void _updateProviderModuleStatus(
           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;
   
           friend class CMPIProviderManager;
  
 }; };
  


Legend:
Removed from v.1.5  
changed lines
  Added in v.1.29

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2