• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef ANDROID_DVR_PERFORMANCE_CLIENT_H_
2 #define ANDROID_DVR_PERFORMANCE_CLIENT_H_
3 
4 #include <sys/types.h>
5 
6 #include <cstddef>
7 #include <string>
8 #include <tuple>
9 
10 #include <pdx/client.h>
11 
12 namespace android {
13 namespace dvr {
14 
15 class PerformanceClient : public pdx::ClientBase<PerformanceClient> {
16  public:
17   int SetCpuPartition(pid_t task_id, const std::string& partition);
18   int SetCpuPartition(pid_t task_id, const char* partition);
19   int SetSchedulerClass(pid_t task_id, const std::string& scheduler_class);
20   int SetSchedulerClass(pid_t task_id, const char* scheduler_class);
21   int GetCpuPartition(pid_t task_id, std::string* partition_out);
22   int GetCpuPartition(pid_t task_id, char* partition_out, std::size_t size);
23 
24  private:
25   friend BASE;
26 
27   explicit PerformanceClient(int* error);
28 
29   PerformanceClient(const PerformanceClient&) = delete;
30   void operator=(const PerformanceClient&) = delete;
31 };
32 
33 }  // namespace dvr
34 }  // namespace android
35 
36 #endif  // ANDROID_DVR_PERFORMANCE_CLIENT_H_
37