version 1.28, 2008/12/02 09:01:21
|
version 1.29, 2008/12/09 18:44:00
|
|
|
// DeclContext so we can do local checking of context for new objects | // DeclContext so we can do local checking of context for new objects |
// | // |
| |
|
#include <Pegasus/Common/InternalException.h> |
#include "cimmofRepository.h" | #include "cimmofRepository.h" |
| |
PEGASUS_USING_PEGASUS; | PEGASUS_USING_PEGASUS; |
|
|
int cimmofRepository::addClass(const CIMNamespaceName &nameSpace, | int cimmofRepository::addClass(const CIMNamespaceName &nameSpace, |
CIMClass *classdecl) | CIMClass *classdecl) |
{ | { |
// Don't catch errors: pass them up to the requester |
try |
|
{ |
_context->addClass( nameSpace, *classdecl); | _context->addClass( nameSpace, *classdecl); |
|
} |
|
catch (CIMException& e) |
|
{ |
|
// Convert the exception message to the one that would be received by |
|
// a client. |
|
throw CIMException( |
|
e.getCode(), TraceableCIMException(e).getDescription()); |
|
} |
|
|
return 0; | return 0; |
} | } |
| |
|
|
int cimmofRepository::addInstance(const CIMNamespaceName &nameSpace, | int cimmofRepository::addInstance(const CIMNamespaceName &nameSpace, |
CIMInstance *instance) | CIMInstance *instance) |
{ | { |
// Don't catch errors: pass them up to the requester |
try |
|
{ |
_context->addInstance(nameSpace, *instance); | _context->addInstance(nameSpace, *instance); |
|
} |
|
catch (CIMException& e) |
|
{ |
|
// Convert the exception message to the one that would be received by |
|
// a client. |
|
throw CIMException( |
|
e.getCode(), TraceableCIMException(e).getDescription()); |
|
} |
|
|
return 0; | return 0; |
} | } |
| |
int cimmofRepository::addQualifier(const CIMNamespaceName &nameSpace, | int cimmofRepository::addQualifier(const CIMNamespaceName &nameSpace, |
CIMQualifierDecl *qualifier) | CIMQualifierDecl *qualifier) |
{ | { |
// Don't catch errors: pass them up to the requester |
try |
|
{ |
_context->addQualifierDecl(nameSpace, *qualifier); | _context->addQualifierDecl(nameSpace, *qualifier); |
|
} |
|
catch (CIMException& e) |
|
{ |
|
// Convert the exception message to the one that would be received by |
|
// a client. |
|
throw CIMException( |
|
e.getCode(), TraceableCIMException(e).getDescription()); |
|
} |
|
|
return 0; | return 0; |
} | } |
| |
|
|
const CIMNamespaceName &nameSpace, | const CIMNamespaceName &nameSpace, |
const CIMName &name) | const CIMName &name) |
{ | { |
// Don't catch errors: pass them up to the requester |
try |
|
{ |
return _context->lookupQualifierDecl(nameSpace, name); | return _context->lookupQualifierDecl(nameSpace, name); |
} | } |
|
catch (CIMException& e) |
|
{ |
|
// Convert the exception message to the one that would be received by |
|
// a client. |
|
throw CIMException( |
|
e.getCode(), TraceableCIMException(e).getDescription()); |
|
} |
|
} |
| |
CIMClass cimmofRepository::getClass(const CIMNamespaceName &nameSpace, | CIMClass cimmofRepository::getClass(const CIMNamespaceName &nameSpace, |
const CIMName &classname) | const CIMName &classname) |
{ | { |
// Don't catch errors: pass them up to the requester |
try |
|
{ |
return _context->lookupClass(nameSpace, classname); | return _context->lookupClass(nameSpace, classname); |
} | } |
|
catch (CIMException& e) |
|
{ |
|
// Convert the exception message to the one that would be received by |
|
// a client. |
|
throw CIMException( |
|
e.getCode(), TraceableCIMException(e).getDescription()); |
|
} |
|
} |
| |
int cimmofRepository::modifyClass(const CIMNamespaceName &nameSpace, | int cimmofRepository::modifyClass(const CIMNamespaceName &nameSpace, |
CIMClass *classdecl) | CIMClass *classdecl) |
{ | { |
// Don't catch errors: pass them up to the requester |
try |
|
{ |
_context->modifyClass( nameSpace, *classdecl); | _context->modifyClass( nameSpace, *classdecl); |
|
} |
|
catch (CIMException& e) |
|
{ |
|
// Convert the exception message to the one that would be received by |
|
// a client. |
|
throw CIMException( |
|
e.getCode(), TraceableCIMException(e).getDescription()); |
|
} |
|
|
return 0; | return 0; |
} | } |
| |
void cimmofRepository::createNameSpace(const CIMNamespaceName &nameSpaceName) | void cimmofRepository::createNameSpace(const CIMNamespaceName &nameSpaceName) |
{ | { |
if (_cimrepository && _ot != compilerCommonDefs::IGNORE_REPOSITORY) | if (_cimrepository && _ot != compilerCommonDefs::IGNORE_REPOSITORY) |
|
{ |
|
try |
|
{ |
_cimrepository->createNameSpace(nameSpaceName); | _cimrepository->createNameSpace(nameSpaceName); |
} | } |
|
catch (CIMException& e) |
|
{ |
|
// Convert the exception message to the one that would be received |
|
// by a client. |
|
throw CIMException( |
|
e.getCode(), TraceableCIMException(e).getDescription()); |
|
} |
|
} |
|
} |