CommissionableInit.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  2. *
  3. * Copyright (c) 2022 Project CHIP Authors
  4. * All rights reserved.
  5. *
  6. * Licensed under the Apache License, Version 2.0 (the "License");
  7. * you may not use this file except in compliance with the License.
  8. * You may obtain a copy 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,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. */
  18. #pragma once
  19. #include "LinuxCommissionableDataProvider.h"
  20. #include "Options.h"
  21. #include <lib/core/CHIPError.h>
  22. #include <platform/ConfigurationManager.h>
  23. #include <platform/PlatformManager.h>
  24. namespace chip {
  25. namespace examples {
  26. /**
  27. * @brief Initialize a LinuxCommissionableDataProvider from Linux common command-line
  28. * options. Handles verifier, passcode, discriminator, etc.
  29. *
  30. * @param provider - provider to initialize from command line arguments
  31. * @param options - LinuxDeviceOptions instance configured via command-line parsing
  32. * @return CHIP_NO_ERROR on success or another CHIP_ERROR value on internal validation errors (likely fatal)
  33. */
  34. CHIP_ERROR InitCommissionableDataProvider(LinuxCommissionableDataProvider & provider, LinuxDeviceOptions & options);
  35. /**
  36. * @brief Initialize a Linux ConfigurationManagerImpl to reflect some command-line configured
  37. * values such as VendorID/ProductID
  38. *
  39. * @param configManager - Linux-specific configuration manager to update
  40. * @param options - LinuxDeviceOptions instance configured via command-line parsing
  41. * @return CHIP_NO_ERROR on success or another CHIP_ERROR value on internal validation errors (likely fatal)
  42. */
  43. CHIP_ERROR InitConfigurationManager(chip::DeviceLayer::ConfigurationManagerImpl & configManager, LinuxDeviceOptions & options);
  44. } // namespace examples
  45. } // namespace chip