security_capabilities.h 1012 B

1234567891011121314151617181920212223242526272829303132333435
  1. // Copyright 2017 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_WIN_SRC_SECURITY_CAPABILITIES_H_
  5. #define SANDBOX_WIN_SRC_SECURITY_CAPABILITIES_H_
  6. #include <windows.h>
  7. #include <vector>
  8. #include "base/win/sid.h"
  9. namespace sandbox {
  10. class SecurityCapabilities final : public SECURITY_CAPABILITIES {
  11. public:
  12. explicit SecurityCapabilities(const base::win::Sid& package_sid);
  13. SecurityCapabilities(const base::win::Sid& package_sid,
  14. const std::vector<base::win::Sid>& capabilities);
  15. SecurityCapabilities(const SecurityCapabilities&) = delete;
  16. SecurityCapabilities& operator=(const SecurityCapabilities&) = delete;
  17. ~SecurityCapabilities();
  18. private:
  19. std::vector<base::win::Sid> capabilities_;
  20. std::vector<SID_AND_ATTRIBUTES> capability_sids_;
  21. base::win::Sid package_sid_;
  22. };
  23. } // namespace sandbox
  24. #endif // SANDBOX_WIN_SRC_SECURITY_CAPABILITIES_H_