version 1.3, 2002/05/09 16:01:08
|
version 1.6, 2002/05/22 21:35:47
|
|
|
| |
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); |
} | } |
} | } |
| |
|
|
{ | { |
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; |
} | } |
|
|
{ | { |
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); |
| |
|
|
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) |
{ | { |
} | } |
|
|
{ | { |
} | } |
| |
|
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) |
|
|
{ | { |
} | } |
| |
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 |