version 1.16, 2006/05/09 17:41:41
|
version 1.22.8.1, 2011/01/15 21:26:53
|
|
|
//%2006//////////////////////////////////////////////////////////////////////// |
//%LICENSE//////////////////////////////////////////////////////////////// |
// | // |
// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development |
// Licensed to The Open Group (TOG) under one or more contributor license |
// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. |
// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with |
// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.; |
// this work for additional information regarding copyright ownership. |
// IBM Corp.; EMC Corporation, The Open Group. |
// Each contributor licenses this file to you under the OpenPegasus Open |
// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; |
// Source License; you may not use this file except in compliance with the |
// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. |
// License. |
// 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 |
// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; |
// copy of this software and associated documentation files (the "Software"), |
// EMC Corporation; Symantec Corporation; The Open Group. |
// to deal in the Software without restriction, including without limitation |
// |
// the rights to use, copy, modify, merge, publish, distribute, sublicense, |
// Permission is hereby granted, free of charge, to any person obtaining a copy |
// and/or sell copies of the Software, and to permit persons to whom the |
// of this software and associated documentation files (the "Software"), to |
// Software is furnished to do so, subject to the following conditions: |
// deal in the Software without restriction, including without limitation the |
// |
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or |
// The above copyright notice and this permission notice shall be included |
// sell copies of the Software, and to permit persons to whom the Software is |
// in all copies or substantial portions of the Software. |
// furnished to do so, subject to the following conditions: |
// |
// |
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN |
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED |
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT |
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY |
// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR |
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, |
// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE |
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN |
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION |
// |
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
////////////////////////////////////////////////////////////////////////// |
// |
|
//============================================================================== |
|
// |
|
// Author: Mike Brasher (mbrasher@bmc.com) |
|
// |
|
// Modified By: Carol Ann Krug Graves, Hewlett-Packard Company |
|
// (carolann_graves@hp.com) |
|
// Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com) |
|
// | // |
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
| |
|
|
| |
static const char* _cimMessages[] = | static const char* _cimMessages[] = |
{ | { |
"CIM_ERR_SUCCESS: successful", |
"CIM_ERR_SUCCESS", |
|
"CIM_ERR_FAILED", |
"CIM_ERR_FAILED: A general error occurred that is not covered by a more specific " |
"CIM_ERR_ACCESS_DENIED", |
"error code", |
"CIM_ERR_INVALID_NAMESPACE", |
|
"CIM_ERR_INVALID_PARAMETER", |
"CIM_ERR_ACCESS_DENIED: Access to a CIM resource was not available to the client", |
"CIM_ERR_INVALID_CLASS", |
|
"CIM_ERR_NOT_FOUND", |
"CIM_ERR_INVALID_NAMESPACE: The target namespace does not exist", |
"CIM_ERR_NOT_SUPPORTED", |
|
"CIM_ERR_CLASS_HAS_CHILDREN", |
"CIM_ERR_INVALID_PARAMETER: One or more parameter values passed to the method " |
"CIM_ERR_CLASS_HAS_INSTANCES", |
"were invalid", |
"CIM_ERR_INVALID_SUPERCLASS", |
|
"CIM_ERR_ALREADY_EXISTS", |
"CIM_ERR_INVALID_CLASS: The specified class does not exist", |
"CIM_ERR_NO_SUCH_PROPERTY", |
|
"CIM_ERR_TYPE_MISMATCH", |
"CIM_ERR_NOT_FOUND: The requested object could not be found", |
"CIM_ERR_QUERY_LANGUAGE_NOT_SUPPORTED", |
|
"CIM_ERR_INVALID_QUERY", |
"CIM_ERR_NOT_SUPPORTED: The requested operation is not supported", |
"CIM_ERR_METHOD_NOT_AVAILABLE", |
|
"CIM_ERR_METHOD_NOT_FOUND", |
"CIM_ERR_CLASS_HAS_CHILDREN: Operation cannot be carried out on this class since " |
"empty", |
"it has subclasses", |
"empty", |
|
"CIM_ERR_NAMESPACE_NOT_EMPTY", |
"CIM_ERR_CLASS_HAS_INSTANCES: Operation cannot be carried out on this class since " |
"CIM_ERR_INVALID_ENUMERATION_CONTEXT", |
"it has instances", |
"CIM_ERR_INVALID_OPERATION_TIMEOUT", |
|
"CIM_ERR_PULL_HAS_BEEN_ABANDONED", |
"CIM_ERR_INVALID_SUPERCLASS: Operation cannot be carried out since the specified " |
"CIM_ERR_PULL_CANNOT_BE_ABANDONED", |
"superclass does not exist", |
"CIM_ERR_FILTERED_ENUMERATION_NOT_SUPPORTED", |
|
"CIM_ERR_CONTINUATION_ON_ERROR_NOT_SUPPORTED", |
"CIM_ERR_ALREADY_EXISTS: Operation cannot be carried out because an object already " |
"CIM_ERR_SERVER_LIMITS_EXCEEDED", |
"exists", |
"CIM_ERR_SERVER_IS_SHUTTING_DOWN" |
|
|
"CIM_ERR_NO_SUCH_PROPERTY: The specified property does not exist", |
|
|
|
"CIM_ERR_TYPE_MISMATCH: The value supplied is incompatible with the type", |
|
|
|
"CIM_ERR_QUERY_LANGUAGE_NOT_SUPPORTED: The query language is not recognized or " |
|
"supported", |
|
|
|
"CIM_ERR_INVALID_QUERY: The query is not valid for the specified query language", |
|
|
|
"CIM_ERR_METHOD_NOT_AVAILABLE: The extrinsic method could not be executed", |
|
|
|
"CIM_ERR_METHOD_NOT_FOUND: The specified extrinsic method does not exist" |
|
}; |
|
|
|
// l10n - keys for cimstatus messages |
|
static const char* _cimMessageKeys[] = |
|
{ |
|
"Common.CIMStatusCode.CIM_ERR_SUCCESS", |
|
|
|
"Common.CIMStatusCode.CIM_ERR_FAILED", |
|
|
|
"Common.CIMStatusCode.CIM_ERR_ACCESS_DENIED", |
|
|
|
"Common.CIMStatusCode.CIM_ERR_INVALID_NAMESPACE", |
|
|
|
"Common.CIMStatusCode.CIM_ERR_INVALID_PARAMETER", |
|
|
|
"Common.CIMStatusCode.CIM_ERR_INVALID_CLASS", |
|
|
|
"Common.CIMStatusCode.CIM_ERR_NOT_FOUND", |
|
|
|
"Common.CIMStatusCode.CIM_ERR_NOT_SUPPORTED", |
|
|
|
"Common.CIMStatusCode.CIM_ERR_CLASS_HAS_CHILDREN", |
|
|
|
"Common.CIMStatusCode.CIM_ERR_CLASS_HAS_INSTANCES", |
|
|
|
"Common.CIMStatusCode.CIM_ERR_INVALID_SUPERCLASS", |
|
|
|
"Common.CIMStatusCode.CIM_ERR_ALREADY_EXISTS", |
|
|
|
"Common.CIMStatusCode.CIM_ERR_NO_SUCH_PROPERTY", |
|
|
|
"Common.CIMStatusCode.CIM_ERR_TYPE_MISMATCH", |
|
|
|
"Common.CIMStatusCode.CIM_ERR_QUERY_LANGUAGE_NOT_SUPPORTED", |
|
|
|
"Common.CIMStatusCode.CIM_ERR_INVALID_QUERY", |
|
|
|
"Common.CIMStatusCode.CIM_ERR_METHOD_NOT_AVAILABLE", |
|
|
|
"Common.CIMStatusCode.CIM_ERR_METHOD_NOT_FOUND" |
|
}; | }; |
| |
// l10n TODO - the first func should go away when all Pegasus is globalized | // l10n TODO - the first func should go away when all Pegasus is globalized |
| |
const char* cimStatusCodeToString(CIMStatusCode code) | const char* cimStatusCodeToString(CIMStatusCode code) |
{ | { |
if (Uint32(code) < (sizeof(_cimMessageKeys)/sizeof(_cimMessageKeys[0]))) |
if (Uint32(code) < (sizeof(_cimMessages)/sizeof(_cimMessages[0]))) |
|
{ |
return _cimMessages[Uint32(code)]; | return _cimMessages[Uint32(code)]; |
|
} |
| |
return "Unrecognized CIM status code"; | return "Unrecognized CIM status code"; |
} | } |
| |
| |
String cimStatusCodeToString(CIMStatusCode code, |
String cimStatusCodeToString( |
|
CIMStatusCode code, |
const ContentLanguageList& contentLanguages) | const ContentLanguageList& contentLanguages) |
{ | { |
MessageLoaderParms parms; |
if (Uint32(code) < (sizeof(_cimMessages)/sizeof(_cimMessages[0]))) |
|
|
if (Uint32(code) < (sizeof(_cimMessageKeys)/sizeof(_cimMessageKeys[0]))) |
|
{ | { |
parms = MessageLoaderParms( |
return _cimMessages[Uint32(code)]; |
_cimMessageKeys[Uint32(code)], _cimMessages[Uint32(code)]); |
|
} | } |
else |
|
{ |
MessageLoaderParms parms( |
parms = MessageLoaderParms( |
|
"Common.CIMStatusCode.UNRECOGNIZED_STATUS_CODE", | "Common.CIMStatusCode.UNRECOGNIZED_STATUS_CODE", |
"Unrecognized CIM status code \"$0\"", Uint32(code)); |
"Unrecognized CIM status code \"$0\"", (Uint32)code); |
} |
|
| |
if (contentLanguages.size() > 0) | if (contentLanguages.size() > 0) |
{ | { |
|
|
return MessageLoader::getMessage(parms); | return MessageLoader::getMessage(parms); |
} | } |
| |
// l10n |
|
ContentLanguageList cimStatusCodeToString_Thread( | ContentLanguageList cimStatusCodeToString_Thread( |
String & message, | String & message, |
CIMStatusCode code) | CIMStatusCode code) |
{ | { |
MessageLoaderParms parms; |
if (Uint32(code) < (sizeof(_cimMessages)/sizeof(_cimMessages[0]))) |
|
|
if (Uint32(code) < (sizeof(_cimMessageKeys)/sizeof(_cimMessageKeys[0]))) |
|
{ | { |
parms = MessageLoaderParms( |
message = _cimMessages[Uint32(code)]; |
_cimMessageKeys[Uint32(code)], _cimMessages[Uint32(code)]); |
return ContentLanguageList(); |
} | } |
else |
|
{ |
MessageLoaderParms parms( |
parms = MessageLoaderParms( |
|
"Common.CIMStatusCode.UNRECOGNIZED_STATUS_CODE", | "Common.CIMStatusCode.UNRECOGNIZED_STATUS_CODE", |
"Unrecognized CIM status code \"$0\"", Uint32(code)); |
"Unrecognized CIM status code \"$0\"", (Uint32)code); |
} |
|
| |
//parms.useThreadLocale = true; | //parms.useThreadLocale = true; |
message = MessageLoader::getMessage(parms); | message = MessageLoader::getMessage(parms); |