=== modified file 'bin/indicator-cpufreq-selector' --- bin/indicator-cpufreq-selector 2013-01-25 14:15:03 +0000 +++ bin/indicator-cpufreq-selector 2017-04-04 16:48:53 +0000 @@ -21,7 +21,7 @@ import dbus.service import dbus.mainloop.glib -from indicator_cpufreq import cpufreq +import subprocess class PermissionDeniedByPolicy(dbus.DBusException): _dbus_error_name = 'com.ubuntu.DeviceDriver.PermissionDeniedByPolicy' @@ -42,24 +42,49 @@ self._package_operation_in_progress = False @dbus.service.method(dbus_interface='com.ubuntu.IndicatorCpufreqSelector', - in_signature='auu', - out_signature='', - sender_keyword='sender', - connection_keyword='conn') - def SetFrequency(self, cpus, frequency, sender=None, conn=None): - self._check_polkit_privilege(sender, conn, 'com.ubuntu.indicatorcpufreqselector.setfrequencyscaling') - for cpu in cpus: - error = cpufreq.set_frequency(cpu, frequency) - - @dbus.service.method(dbus_interface='com.ubuntu.IndicatorCpufreqSelector', - in_signature='aus', - out_signature='', - sender_keyword='sender', - connection_keyword='conn') - def SetGovernor(self, cpus, governor, sender=None, conn=None): - self._check_polkit_privilege(sender, conn, 'com.ubuntu.indicatorcpufreqselector.setfrequencyscaling') - for cpu in cpus: - error = cpufreq.modify_policy_governor(cpu, governor) + in_signature='as', + out_signature='', + sender_keyword='sender', + connection_keyword='conn') + def SetThrottle(self, throttle, sender=None, conn=None): + self._check_polkit_privilege(sender, conn, 'com.ubuntu.indicatorcpufreqselector.setthrottle') + error = subprocess.Popen(["/bin/sh", "throttle", throttle]) + + @dbus.service.method(dbus_interface='com.ubuntu.IndicatorCpufreqSelector', + in_signature='as', + out_signature='', + sender_keyword='sender', + connection_keyword='conn') + def SetGovernor(self, governor, sender=None, conn=None): + self._check_polkit_privilege(sender, conn, 'com.ubuntu.indicatorcpufreqselector.setfrequencyscaling') + error = subprocess.Popen(["/bin/sh", "throttle", governor]) + + @dbus.service.method(dbus_interface='com.ubuntu.IndicatorCpufreqSelector', + in_signature='as', + out_signature='', + sender_keyword='sender', + connection_keyword='conn') + def SetPSTurbo(self, psturbo, sender=None, conn=None): + self._check_polkit_privilege(sender, conn, 'com.ubuntu.indicatorcpufreqselector.setpsturbo') + error = subprocess.Popen(["/bin/sh", "throttle", psturbo]) + + @dbus.service.method(dbus_interface='com.ubuntu.IndicatorCpufreqSelector', + in_signature='as', + out_signature='', + sender_keyword='sender', + connection_keyword='conn') + def SetHyperthreads(self, hyperthreads, sender=None, conn=None): + self._check_polkit_privilege(sender, conn, 'com.ubuntu.indicatorcpufreqselector.sethyperthreads') + error = subprocess.Popen(["/bin/sh", "throttle", hyperthreads]) + + @dbus.service.method(dbus_interface='com.ubuntu.IndicatorCpufreqSelector', + in_signature='as', + out_signature='', + sender_keyword='sender', + connection_keyword='conn') + def SetGPUThrottle(self, gputhrottle, sender=None, conn=None): + self._check_polkit_privilege(sender, conn, 'com.ubuntu.indicatorcpufreqselector.setgputhrottle') + error = subprocess.Popen(["/bin/sh", "throttle", gputhrottle]) def _check_polkit_privilege(self, sender, conn, privilege): '''Verify that sender has a given PolicyKit privilege.