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

Diff for /pegasus/src/Pegasus/Common/CIMStatusCode.cpp between version 1.9 and 1.19

version 1.9, 2004/08/24 23:10:21 version 1.19, 2007/08/03 18:57:43
Line 1 
Line 1 
 //%2003////////////////////////////////////////////////////////////////////////  //%2006////////////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001, 2002  BMC Software, Hewlett-Packard Development  // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
 // Company, L. P., IBM Corp., The Open Group, Tivoli Systems.  // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
 // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.; // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L. P.;
 // IBM Corp.; EMC Corporation, The Open Group. // IBM Corp.; EMC Corporation, The Open Group.
   // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
   // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
   // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   // EMC Corporation; VERITAS Software Corporation; The Open Group.
   // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
   // EMC Corporation; Symantec Corporation; The Open Group.
 // //
 // Permission is hereby granted, free of charge, to any person obtaining a copy // Permission is hereby granted, free of charge, to any person obtaining a copy
 // of this software and associated documentation files (the "Software"), to // of this software and associated documentation files (the "Software"), to
Line 23 
Line 29 
 // //
 //============================================================================== //==============================================================================
 // //
 // Author: Mike Brasher (mbrasher@bmc.com)  
 //  
 // Modified By: Carol Ann Krug Graves, Hewlett-Packard Company  
 //                (carolann_graves@hp.com)  
 //  
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
   #include <Pegasus/Common/MessageLoader.h>
 #include "CIMStatusCode.h" #include "CIMStatusCode.h"
  
 PEGASUS_NAMESPACE_BEGIN PEGASUS_NAMESPACE_BEGIN
  
 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 "  
     "it has subclasses",  
   
     "CIM_ERR_CLASS_HAS_INSTANCES: Operation cannot be carried out on this class since "  
     "it has instances",  
   
     "CIM_ERR_INVALID_SUPERCLASS: Operation cannot be carried out since the specified "  
     "superclass does not exist",  
   
     "CIM_ERR_ALREADY_EXISTS: Operation cannot be carried out because an object already "  
     "exists",  
   
     "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",  
   
     // NOTE - the message below must always be last  
     "The CIM status code associated with this error is not recognized"  
 };  
   
 // 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",  
   
     // NOTE: the message key below must always be last  
     "Common.CIMStatusCode.UNRECOGNIZED_STATUS_CODE",  
 }; };
  
 // l10n TOD0 - 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) <= CIM_ERR_METHOD_NOT_FOUND)      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(
                              const ContentLanguages& contentLanguages)      CIMStatusCode code,
 {      const ContentLanguageList& contentLanguages)
   AcceptLanguages acceptLanguages;  
   
   Uint32 tempCode;  
   
   if (Uint32(code) <= CIM_ERR_METHOD_NOT_FOUND)  
   {   {
     tempCode = (Uint32)code;      if (Uint32(code) < (sizeof(_cimMessages)/sizeof(_cimMessages[0])))
   }  
   else  
   {   {
     tempCode = CIM_ERR_METHOD_NOT_FOUND + 1;          return _cimMessages[Uint32(code)];
   }   }
  
   MessageLoaderParms parms(_cimMessageKeys[tempCode], _cimMessages[tempCode]);      MessageLoaderParms parms(
   if (contentLanguages.size() == 0) //use AcceptLanguages::EMPTY          "Common.CIMStatusCode.UNRECOGNIZED_STATUS_CODE",
           "Unrecognized CIM status code \"$0\"", Uint32(code));
   
       if (contentLanguages.size() > 0)
   {   {
     return MessageLoader::getMessage(parms);          //build AcceptLanguageList from contentLanguages, use in getMessage
           parms.acceptlanguages.clear();
           parms.acceptlanguages.insert(contentLanguages.getLanguageTag(0), 1.0);
   }   }
   else  
   {  
     //build AcceptLanguages from contentLanguages, use in getMessage  
     parms.acceptlanguages = AcceptLanguages(contentLanguages.getLanguageElement(0).getTag());  
     return MessageLoader::getMessage(parms);     return MessageLoader::getMessage(parms);
   }   }
 }  
  
 // l10n  ContentLanguageList cimStatusCodeToString_Thread(
 ContentLanguages cimStatusCodeToString_Thread(String & message, CIMStatusCode code)      String & message,
       CIMStatusCode code)
 { {
   Uint32 tempCode;      if (Uint32(code) < (sizeof(_cimMessages)/sizeof(_cimMessages[0])))
   
   if (Uint32(code) <= CIM_ERR_METHOD_NOT_FOUND)  
   {   {
     tempCode = (Uint32)code;          message = _cimMessages[Uint32(code)];
   }          return ContentLanguageList();
   else  
   {  
     tempCode = CIM_ERR_METHOD_NOT_FOUND + 1;  
   }   }
  
   MessageLoaderParms parms(_cimMessageKeys[tempCode], _cimMessages[tempCode]);      MessageLoaderParms parms(
           "Common.CIMStatusCode.UNRECOGNIZED_STATUS_CODE",
           "Unrecognized CIM status code \"$0\"", Uint32(code));
   
   //parms.useThreadLocale = true;   //parms.useThreadLocale = true;
   message = MessageLoader::getMessage(parms);   message = MessageLoader::getMessage(parms);
   return parms.contentlanguages;   return parms.contentlanguages;


Legend:
Removed from v.1.9  
changed lines
  Added in v.1.19

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2