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