bpf_speech_recognition_policy_linux.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. // Copyright 2020 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef SANDBOX_POLICY_LINUX_BPF_SPEECH_RECOGNITION_POLICY_LINUX_H_
  5. #define SANDBOX_POLICY_LINUX_BPF_SPEECH_RECOGNITION_POLICY_LINUX_H_
  6. #include "sandbox/linux/bpf_dsl/bpf_dsl.h"
  7. #include "sandbox/policy/linux/bpf_base_policy_linux.h"
  8. namespace sandbox {
  9. namespace policy {
  10. // The process policy for the sandboxed utility process that loads the Speech
  11. // On-Device API (SODA). This policy allows the syscalls used by the libsoda.so
  12. // binary to transcribe audio into text.
  13. class SANDBOX_POLICY_EXPORT SpeechRecognitionProcessPolicy
  14. : public BPFBasePolicy {
  15. public:
  16. SpeechRecognitionProcessPolicy();
  17. SpeechRecognitionProcessPolicy(const SpeechRecognitionProcessPolicy&) =
  18. delete;
  19. SpeechRecognitionProcessPolicy& operator=(
  20. const SpeechRecognitionProcessPolicy&) = delete;
  21. ~SpeechRecognitionProcessPolicy() override;
  22. bpf_dsl::ResultExpr EvaluateSyscall(int system_call_number) const override;
  23. };
  24. } // namespace policy
  25. } // namespace sandbox
  26. #endif // SANDBOX_POLICY_LINUX_BPF_SPEECH_RECOGNITION_POLICY_LINUX_H_