CustomStringPrefix.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. /*
  2. * Copyright (c) 2022 Project CHIP Authors
  3. * All rights reserved.
  4. *
  5. * Licensed under the Apache License, Version 2.0 (the "License");
  6. * you may not use this file except in compliance with the License.
  7. * You may obtain a copy of the License at
  8. *
  9. * http://www.apache.org/licenses/LICENSE-2.0
  10. *
  11. * Unless required by applicable law or agreed to in writing, software
  12. * distributed under the License is distributed on an "AS IS" BASIS,
  13. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. * See the License for the specific language governing permissions and
  15. * limitations under the License.
  16. *
  17. */
  18. #pragma once
  19. #include <string.h>
  20. #include <lib/support/CodeUtils.h>
  21. static constexpr char kJsonStringPrefix[] = "json:";
  22. inline constexpr size_t kJsonStringPrefixLen = ArraySize(kJsonStringPrefix) - 1; // Don't count the null
  23. static constexpr char kBase64StringPrefix[] = "base64:";
  24. inline constexpr size_t kBase64StringPrefixLen = ArraySize(kBase64StringPrefix) - 1; // Don't count the null
  25. static constexpr char kHexStringPrefix[] = "hex:";
  26. inline constexpr size_t kHexStringPrefixLen = ArraySize(kHexStringPrefix) - 1; // Don't count the null
  27. static constexpr char kStrStringPrefix[] = "str:";
  28. inline constexpr size_t kStrStringPrefixLen = ArraySize(kStrStringPrefix) - 1; // Don't count the null
  29. inline bool IsJsonString(const char * str)
  30. {
  31. return strncmp(str, kJsonStringPrefix, kJsonStringPrefixLen) == 0;
  32. }
  33. inline bool IsBase64String(const char * str)
  34. {
  35. return strncmp(str, kBase64StringPrefix, kBase64StringPrefixLen) == 0;
  36. }
  37. inline bool IsHexString(const char * str)
  38. {
  39. return strncmp(str, kHexStringPrefix, kHexStringPrefixLen) == 0;
  40. }
  41. inline bool IsStrString(const char * str)
  42. {
  43. return strncmp(str, kStrStringPrefix, kStrStringPrefixLen) == 0;
  44. }