(file) Return to DefaultProviderManager.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / ProviderManager2 / Default

Diff for /pegasus/src/Pegasus/ProviderManager2/Default/DefaultProviderManager.cpp between version 1.69 and 1.70

version 1.69, 2006/08/23 20:01:46 version 1.70, 2006/08/25 18:00:06
Line 44 
Line 44 
 #include <Pegasus/Query/QueryExpression/QueryExpression.h> #include <Pegasus/Query/QueryExpression/QueryExpression.h>
 #include <Pegasus/ProviderManager2/QueryExpressionFactory.h> #include <Pegasus/ProviderManager2/QueryExpressionFactory.h>
  
 #include <Pegasus/ProviderManager2/Default/Provider.h>  #include <Pegasus/ProviderManager2/Default/ProviderFacade.h>
 #include <Pegasus/ProviderManager2/OperationResponseHandler.h> #include <Pegasus/ProviderManager2/OperationResponseHandler.h>
 #include <Pegasus/ProviderManager2/AutoPThreadSecurity.h> #include <Pegasus/ProviderManager2/AutoPThreadSecurity.h>
  
Line 74 
Line 74 
 // auto variable to protect provider during operations // auto variable to protect provider during operations
 class pm_service_op_lock class pm_service_op_lock
 { {
 private:  
     pm_service_op_lock(void);  
   
 public: public:
     pm_service_op_lock(Provider *provider) : _provider(provider)      pm_service_op_lock(ProviderStatus *providerStatus)
       : _providerStatus(providerStatus)
     {     {
         _provider->protect();          _providerStatus->protect();
     }     }
  
     ~pm_service_op_lock(void)      ~pm_service_op_lock()
     {     {
         _provider->unprotect();          _providerStatus->unprotect();
     }     }
  
     Provider * _provider;  private:
       pm_service_op_lock();
       pm_service_op_lock(const pm_service_op_lock&);
       pm_service_op_lock& operator=(const pm_service_op_lock&);
   
       ProviderStatus* _providerStatus;
 }; };
  
 // //
Line 332 
Line 335 
  
         AutoPThreadSecurity threadLevelSecurity(context);         AutoPThreadSecurity threadLevelSecurity(context);
  
         pm_service_op_lock op_lock(&ph.GetProvider());          pm_service_op_lock op_lock(&ph.GetProvider().status);
  
         StatProviderTimeMeasurement providerTime(response);         StatProviderTimeMeasurement providerTime(response);
  
Line 409 
Line 412 
  
         AutoPThreadSecurity threadLevelSecurity(context);         AutoPThreadSecurity threadLevelSecurity(context);
  
         pm_service_op_lock op_lock(&ph.GetProvider());          pm_service_op_lock op_lock(&ph.GetProvider().status);
  
         StatProviderTimeMeasurement providerTime(response);         StatProviderTimeMeasurement providerTime(response);
  
Line 486 
Line 489 
  
         AutoPThreadSecurity threadLevelSecurity(context);         AutoPThreadSecurity threadLevelSecurity(context);
  
         pm_service_op_lock op_lock(&ph.GetProvider());          pm_service_op_lock op_lock(&ph.GetProvider().status);
  
         StatProviderTimeMeasurement providerTime(response);         StatProviderTimeMeasurement providerTime(response);
  
Line 561 
Line 564 
  
         AutoPThreadSecurity threadLevelSecurity(context);         AutoPThreadSecurity threadLevelSecurity(context);
  
         pm_service_op_lock op_lock(&ph.GetProvider());          pm_service_op_lock op_lock(&ph.GetProvider().status);
  
         StatProviderTimeMeasurement providerTime(response);         StatProviderTimeMeasurement providerTime(response);
  
Line 639 
Line 642 
  
         AutoPThreadSecurity threadLevelSecurity(context);         AutoPThreadSecurity threadLevelSecurity(context);
  
         pm_service_op_lock op_lock(&ph.GetProvider());          pm_service_op_lock op_lock(&ph.GetProvider().status);
  
         StatProviderTimeMeasurement providerTime(response);         StatProviderTimeMeasurement providerTime(response);
  
Line 717 
Line 720 
  
         AutoPThreadSecurity threadLevelSecurity(context);         AutoPThreadSecurity threadLevelSecurity(context);
  
         pm_service_op_lock op_lock(&ph.GetProvider());          pm_service_op_lock op_lock(&ph.GetProvider().status);
  
         StatProviderTimeMeasurement providerTime(response);         StatProviderTimeMeasurement providerTime(response);
  
Line 792 
Line 795 
  
         AutoPThreadSecurity threadLevelSecurity(context);         AutoPThreadSecurity threadLevelSecurity(context);
  
         pm_service_op_lock op_lock(&ph.GetProvider());          pm_service_op_lock op_lock(&ph.GetProvider().status);
  
         StatProviderTimeMeasurement providerTime(response);         StatProviderTimeMeasurement providerTime(response);
  
Line 871 
Line 874 
  
         StatProviderTimeMeasurement providerTime(response);         StatProviderTimeMeasurement providerTime(response);
  
         pm_service_op_lock op_lock(&ph.GetProvider());          pm_service_op_lock op_lock(&ph.GetProvider().status);
  
         ph.GetProvider().associators(         ph.GetProvider().associators(
             context,             context,
Line 954 
Line 957 
  
         StatProviderTimeMeasurement providerTime(response);         StatProviderTimeMeasurement providerTime(response);
  
         pm_service_op_lock op_lock(&ph.GetProvider());          pm_service_op_lock op_lock(&ph.GetProvider().status);
  
         ph.GetProvider().associatorNames(         ph.GetProvider().associatorNames(
             context,             context,
Line 1038 
Line 1041 
  
         StatProviderTimeMeasurement providerTime(response);         StatProviderTimeMeasurement providerTime(response);
  
         pm_service_op_lock op_lock(&ph.GetProvider());          pm_service_op_lock op_lock(&ph.GetProvider().status);
  
         ph.GetProvider().references(         ph.GetProvider().references(
             context,             context,
Line 1123 
Line 1126 
  
         StatProviderTimeMeasurement providerTime(response);         StatProviderTimeMeasurement providerTime(response);
  
         pm_service_op_lock op_lock(&ph.GetProvider());          pm_service_op_lock op_lock(&ph.GetProvider().status);
  
         ph.GetProvider().referenceNames(         ph.GetProvider().referenceNames(
             context,             context,
Line 1201 
Line 1204 
         StatProviderTimeMeasurement providerTime(response);         StatProviderTimeMeasurement providerTime(response);
  
         // forward request         // forward request
         pm_service_op_lock op_lock(&ph.GetProvider());          pm_service_op_lock op_lock(&ph.GetProvider().status);
  
         ph.GetProvider().getProperty(         ph.GetProvider().getProperty(
             context,             context,
Line 1279 
Line 1282 
         StatProviderTimeMeasurement providerTime(response);         StatProviderTimeMeasurement providerTime(response);
  
         // forward request         // forward request
         pm_service_op_lock op_lock(&ph.GetProvider());          pm_service_op_lock op_lock(&ph.GetProvider().status);
  
         ph.GetProvider().setProperty(         ph.GetProvider().setProperty(
             context,             context,
Line 1360 
Line 1363 
  
         StatProviderTimeMeasurement providerTime(response);         StatProviderTimeMeasurement providerTime(response);
  
         pm_service_op_lock op_lock(&ph.GetProvider());          pm_service_op_lock op_lock(&ph.GetProvider().status);
  
         ph.GetProvider().invokeMethod(         ph.GetProvider().invokeMethod(
             context,             context,
Line 1437 
Line 1440 
         //         //
         //  Save the provider instance from the request         //  Save the provider instance from the request
         //         //
         ph.GetProvider ().setProviderInstance (req_provider);          ph.GetProvider().status.setProviderInstance(req_provider);
  
         // convert arguments         // convert arguments
         OperationContext context;         OperationContext context;
Line 1473 
Line 1476 
  
         AutoPThreadSecurity threadLevelSecurity(context);         AutoPThreadSecurity threadLevelSecurity(context);
  
         pm_service_op_lock op_lock(&ph.GetProvider());          pm_service_op_lock op_lock(&ph.GetProvider().status);
  
         ph.GetProvider().createSubscription(         ph.GetProvider().createSubscription(
             context,             context,
Line 1485 
Line 1488 
         //         //
         //  Increment count of current subscriptions for this provider         //  Increment count of current subscriptions for this provider
         //         //
         if (ph.GetProvider ().testIfZeroAndIncrementSubscriptions ())          if (ph.GetProvider().status.testIfZeroAndIncrementSubscriptions())
         {         {
             //             //
             //  If there were no current subscriptions before the increment,             //  If there were no current subscriptions before the increment,
Line 1616 
Line 1619 
  
         AutoPThreadSecurity threadLevelSecurity(context);         AutoPThreadSecurity threadLevelSecurity(context);
  
         pm_service_op_lock op_lock(&ph.GetProvider());          pm_service_op_lock op_lock(&ph.GetProvider().status);
  
         ph.GetProvider().modifySubscription(         ph.GetProvider().modifySubscription(
             context,             context,
Line 1739 
Line 1742 
  
         AutoPThreadSecurity threadLevelSecurity(context);         AutoPThreadSecurity threadLevelSecurity(context);
  
         pm_service_op_lock op_lock(&ph.GetProvider());          pm_service_op_lock op_lock(&ph.GetProvider().status);
  
         ph.GetProvider().deleteSubscription(         ph.GetProvider().deleteSubscription(
             context,             context,
Line 1749 
Line 1752 
         //         //
         //  Decrement count of current subscriptions for this provider         //  Decrement count of current subscriptions for this provider
         //         //
         if (ph.GetProvider ().decrementSubscriptionsAndTestIfZero ())          if (ph.GetProvider().status.decrementSubscriptionsAndTestIfZero())
         {         {
             //             //
             //  If there are no current subscriptions after the decrement,             //  If there are no current subscriptions after the decrement,
Line 1764 
Line 1767 
  
                 ph.GetProvider ().disableIndications ();                 ph.GetProvider ().disableIndications ();
  
                 ph.GetProvider ().unprotect ();                  ph.GetProvider().status.unprotect();
  
                 //                 //
                 //                 //
Line 1854 
Line 1857 
  
       StatProviderTimeMeasurement providerTime(response);       StatProviderTimeMeasurement providerTime(response);
  
       pm_service_op_lock op_lock(&ph.GetProvider());        pm_service_op_lock op_lock(&ph.GetProvider().status);
  
       ph.GetProvider().consumeIndication(context,       ph.GetProvider().consumeIndication(context,
                                 request->destinationPath,                                 request->destinationPath,
Line 1939 
Line 1942 
                         OpProviderHolder ph = providerManager.getProvider(                         OpProviderHolder ph = providerManager.getProvider(
                             physicalName, pName);                             physicalName, pName);
  
                         ph.GetProvider ().resetSubscriptions ();                          ph.GetProvider().status.resetSubscriptions();
                     }                     }
  
                     //                     //
Line 2102 
Line 2105 
     //  For each provider that has at least one subscription, call     //  For each provider that has at least one subscription, call
     //  provider's enableIndications method     //  provider's enableIndications method
     //     //
     Array <Provider *> enableProviders;      Array <ProviderFacade*> enableProviders;
     enableProviders = providerManager.getIndicationProvidersToEnable ();     enableProviders = providerManager.getIndicationProvidersToEnable ();
  
     Uint32 numProviders = enableProviders.size ();     Uint32 numProviders = enableProviders.size ();
Line 2111 
Line 2114 
         try         try
         {         {
             CIMInstance provider;             CIMInstance provider;
             provider = enableProviders [i]->getProviderInstance ();              provider = enableProviders[i]->status.getProviderInstance();
  
             //             //
             //  Get cached or load new provider module             //  Get cached or load new provider module
             //             //
             OpProviderHolder ph = providerManager.getProvider(             OpProviderHolder ph = providerManager.getProvider(
                 enableProviders[i]->getModule()->getFileName(),                  enableProviders[i]->status.getModule()->getFileName(),
                 enableProviders[i]->getName());                 enableProviders[i]->getName());
  
             _callEnableIndications (provider, _indicationCallback, ph);             _callEnableIndications (provider, _indicationCallback, ph);
Line 2144 
Line 2147 
 } }
  
 void DefaultProviderManager::_insertEntry ( void DefaultProviderManager::_insertEntry (
     const Provider & provider,      const ProviderFacade& provider,
     EnableIndicationsResponseHandler* handler)     EnableIndicationsResponseHandler* handler)
 { {
     PEG_METHOD_ENTER (TRC_PROVIDERMANAGER,     PEG_METHOD_ENTER (TRC_PROVIDERMANAGER,
Line 2175 
Line 2178 
 } }
  
 String DefaultProviderManager::_generateKey ( String DefaultProviderManager::_generateKey (
     const Provider & provider)      const ProviderFacade & provider)
 { {
     String tableKey;     String tableKey;
  
Line 2186 
Line 2189 
     //  Append provider key values to key     //  Append provider key values to key
     //     //
     String providerName = provider.getName();     String providerName = provider.getName();
     String providerFileName = provider.getModule()->getFileName();      String providerFileName = provider.status.getModule()->getFileName();
     tableKey.append (providerName);     tableKey.append (providerName);
     tableKey.append (providerFileName);     tableKey.append (providerFileName);
  
Line 2273 
Line 2276 
             "Calling provider.enableIndications: " +             "Calling provider.enableIndications: " +
             ph.GetProvider ().getName ());             ph.GetProvider ().getName ());
  
         pm_service_op_lock op_lock (& ph.GetProvider ());          pm_service_op_lock op_lock(&ph.GetProvider().status);
         ph.GetProvider ().protect ();          ph.GetProvider().status.protect();
         ph.GetProvider ().enableIndications (* enableHandler);         ph.GetProvider ().enableIndications (* enableHandler);
  
         //         //


Legend:
Removed from v.1.69  
changed lines
  Added in v.1.70

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2