(file) Return to OperationContext.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

Diff for /pegasus/src/Pegasus/Common/OperationContext.cpp between version 1.3 and 1.6

version 1.3, 2002/05/09 16:01:08 version 1.6, 2002/05/22 21:35:47
Line 30 
Line 30 
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
   //
   // OperationContext
   //
 OperationContext::OperationContext(void) OperationContext::OperationContext(void)
 { {
 } }
  
   OperationContext::OperationContext(const OperationContext & context)
   {
       *this = context;
   }
   
 OperationContext::~OperationContext(void) OperationContext::~OperationContext(void)
 { {
       clear();
   }
   
   OperationContext & OperationContext::operator=(const OperationContext & context)
   {
       if(this == &context)
       {
           return(*this);
       }
   
       clear();
   
       for(Uint32 i = 0, n = context._containers.size(); i < n; i++)
       {
           _containers.append(context._containers[i]->clone());
       }
   
       return(*this);
 } }
  
 void OperationContext::clear(void) void OperationContext::clear(void)
 { {
       for(Uint32 i = 0, n = _containers.size(); i < n; i++)
       {
           delete _containers[i];
       }
   
     _containers.clear();     _containers.clear();
 } }
  
 const OperationContext::Container OperationContext::get(const Uint32 key) const  const OperationContext::Container & OperationContext::get(const Uint32 key) const
 { {
     for(Uint32 i = 0, n = _containers.size(); i < n; i++)     for(Uint32 i = 0, n = _containers.size(); i < n; i++)
     {     {
         if(key == _containers[i].getKey())          if(key == _containers[i]->getKey())
         {         {
             return(_containers[i]);              Container * p = _containers[i];
   
               return(*p);
         }         }
     }     }
  
Line 60 
Line 93 
 { {
     for(Uint32 i = 0, n = _containers.size(); i < n; i++)     for(Uint32 i = 0, n = _containers.size(); i < n; i++)
     {     {
         if(container.getKey() == _containers[i].getKey())          if(container.getKey() == _containers[i]->getKey())
         {         {
             // delete previous container             // delete previous container
             _containers.remove(i);             _containers.remove(i);
  
             // append current container             // append current container
             _containers.append(container);              _containers.append(container.clone());
  
             return;             return;
         }         }
Line 79 
Line 112 
 { {
     for(Uint32 i = 0, n = _containers.size(); i < n; i++)     for(Uint32 i = 0, n = _containers.size(); i < n; i++)
     {     {
         if(container.getKey() == _containers[i].getKey())          if(container.getKey() == _containers[i]->getKey())
         {         {
             throw Exception("object already exists.");             throw Exception("object already exists.");
         }         }
     }     }
  
     _containers.append(container);      _containers.append(container.clone());
 } }
  
 void OperationContext::remove(const Uint32 key) void OperationContext::remove(const Uint32 key)
 { {
     for(Uint32 i = 0, n = _containers.size(); i < n; i++)     for(Uint32 i = 0, n = _containers.size(); i < n; i++)
     {     {
         if(key == _containers[i].getKey())          if(key == _containers[i]->getKey())
         {         {
             _containers.remove(i);             _containers.remove(i);
  
Line 103 
Line 136 
     throw Exception("object not found");     throw Exception("object not found");
 } }
  
   //
   // OperationContext::Container
   //
 OperationContext::Container::Container(const Uint32 key) : _key(key) OperationContext::Container::Container(const Uint32 key) : _key(key)
 { {
 } }
Line 111 
Line 147 
 { {
 } }
  
   OperationContext::Container * OperationContext::Container::clone(void) const
   {
       return(new Container(*this));
   }
   
   //
   // IdentitiyContainer
   //
   IdentityContainer::IdentityContainer(const OperationContext::Container & container)
   {
       const IdentityContainer * p = dynamic_cast<const IdentityContainer *>(&container);
   
       if(p == 0)
       {
           throw DynamicCastFailed();
       }
   
       *this = *p;
   }
   
 IdentityContainer::IdentityContainer(const String & userName) IdentityContainer::IdentityContainer(const String & userName)
     : OperationContext::Container(CONTEXT_IDENTITY), _userName(userName)     : OperationContext::Container(CONTEXT_IDENTITY), _userName(userName)
 { {
 } }
  
 IdentityContainer::~IdentityContainer(void)  OperationContext::Container * IdentityContainer::clone(void) const
   {
       return(new IdentityContainer(*this));
   }
   
   String IdentityContainer::getUserName(void) const
   {
       return(_userName);
   }
   
   //
   // LocaleContainer
   //
   LocaleContainer::LocaleContainer(const OperationContext::Container & container)
 { {
       const LocaleContainer * p = dynamic_cast<const LocaleContainer *>(&container);
   
       if(p == 0)
       {
           throw DynamicCastFailed();
       }
   
       *this = *p;
 } }
  
 LocaleContainer::LocaleContainer(const String & languageId) LocaleContainer::LocaleContainer(const String & languageId)
Line 125 
Line 202 
 { {
 } }
  
 LocaleContainer::~LocaleContainer(void)  OperationContext::Container * LocaleContainer::clone(void) const
   {
       return(new LocaleContainer(*this));
   }
   
   String LocaleContainer::getLanguageId(void) const
   {
       return(_languageId);
   }
   
   //
   // ProviderIdContainer
   //
   ProviderIdContainer::ProviderIdContainer(const OperationContext::Container & container)
   {
       const ProviderIdContainer * p = dynamic_cast<const ProviderIdContainer *>(&container);
   
       if(p == 0)
       {
           throw DynamicCastFailed();
       }
   
       *this = *p;
   }
   
   ProviderIdContainer::ProviderIdContainer(const CIMInstance & module, const CIMInstance & provider)
       : OperationContext::Container(CONTEXT_PROVIDERID), _module(module), _provider(provider)
   {
   }
   
   OperationContext::Container * ProviderIdContainer::clone(void) const
   {
       return(new ProviderIdContainer(*this));
   }
   
   CIMInstance ProviderIdContainer::getModule(void) const
   {
       return(_module);
   }
   
   CIMInstance ProviderIdContainer::getProvider(void) const
 { {
       return(_provider);
 } }
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.3  
changed lines
  Added in v.1.6

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2