/core/externals/update-engine/externals/google-toolbox-for-mac/Foundation/GTMNSDictionary+CaseInsensitive.h

http://macfuse.googlecode.com/ · C++ Header · 44 lines · 7 code · 5 blank · 32 comment · 0 complexity · 2b5a23dc9647d56a0a43c9edd3b8347c MD5 · raw file

  1. //
  2. // GTMNSDictionary+CaseInsensitive.h
  3. //
  4. // Copyright 2009 Google Inc.
  5. //
  6. // Licensed under the Apache License, Version 2.0 (the "License"); you may not
  7. // use this file except in compliance with the License. You may obtain a copy
  8. // of the License at
  9. //
  10. // http://www.apache.org/licenses/LICENSE-2.0
  11. //
  12. // Unless required by applicable law or agreed to in writing, software
  13. // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  14. // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  15. // License for the specific language governing permissions and limitations under
  16. // the License.
  17. //
  18. #import <Foundation/Foundation.h>
  19. #import "GTMDefines.h"
  20. /// Utility for building case-insensitive NSDictionary objects.
  21. @interface NSDictionary (GTMNSDictionaryCaseInsensitiveAdditions)
  22. /// Initializes an NSDictionary with a case-insensitive comparison function
  23. /// for NSString keys, while non-NSString keys are treated normally.
  24. ///
  25. /// The case for NSString keys is preserved, though duplicate keys (when
  26. /// compared in a case-insensitive fashion) have one of their values dropped
  27. /// arbitrarily.
  28. ///
  29. /// An example of use with HTTP headers in an NSHTTPURLResponse object:
  30. ///
  31. /// NSDictionary *headers =
  32. /// [NSDictionary gtm_dictionaryWithDictionaryCaseInsensitive:
  33. /// [response allHeaderFields]];
  34. /// NSString *contentType = [headers objectForKey:@"Content-Type"];
  35. - (id)gtm_initWithDictionaryCaseInsensitive:(NSDictionary *)dictionary
  36. NS_RETURNS_RETAINED NS_CONSUMES_SELF;
  37. /// Returns a newly created and autoreleased NSDictionary object as above.
  38. + (id)gtm_dictionaryWithDictionaryCaseInsensitive:(NSDictionary *)dictionary;
  39. @end