MINI MINI MANI MO

Path : /usr/lib/python2.7/site-packages/tuned/daemon/
File Upload :
Current File : //usr/lib/python2.7/site-packages/tuned/daemon/controller.pyc

ó
©=[c@s´ddlmZddlZddlZddlmZddlZddljZddlm	Z	dgZ
ejjƒZ
defd„ƒYZdejjjfd„ƒYZdS(	iÿÿÿÿ(texportsN(tTunedException(tcommandst
Controllert
TimerStorecBs,eZd„Zd„Zd„Zd„ZRS(cCstƒ|_tjƒ|_dS(N(tdictt_timerst	threadingtLockt_timers_lock(tself((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pyt__init__scCs!|j||j|<WdQXdS(N(R	R(R
ttokenttimer((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pytstore_timers
cCsC|j4y%|j|}|jƒ|j|=WnnXWdQXdS(N(R	Rtcancel(R
RR
((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pyt
drop_timers


cCsE|j6x!|jjƒD]}|jƒqW|jjƒWdQXdS(N(R	RtvaluesRtclear(R
R
((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pyt
cancel_alls
(t__name__t
__module__RRRR(((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pyR
s				cBsQeZdZd„Zd„Zd„Zejdƒd„ƒZd„Z	ej
ddƒd"d	„ƒZej
ddƒd"d
„ƒZ
ej
ddƒd"d
„ƒZej
ddƒd"d„ƒZej
ddƒd"d„ƒZd„Zej
ddƒd"d„ƒZej
ddƒd"d„ƒZej
ddƒd"d„ƒZej
ddƒd"d„ƒZej
ddƒd"d„ƒZej
ddƒd"d„ƒZej
ddƒd"d„ƒZej
ddƒd"d„ƒZej
ddƒd"d„ƒZej
ddƒd"d„ƒZej
ddƒd"d „ƒZej
ddƒd"d!„ƒZRS(#s‘
	Controller's purpose is to keep the program running, start/stop the tuning,
	and export the controller interface (currently only over D-Bus).
	cCsPtt|ƒjƒ||_||_tjƒ|_tƒ|_	t
ƒ|_dS(N(tsuperRRt_daemont_global_configRtEventt
_terminateRt_cmdRt_timer_store(R
tdaemont
global_config((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pyR+s		cCsžtjdƒ|jƒ}|jjtjtjƒ}|rN|rNtjƒn|rƒ|j	j
ƒx|jj|j	dƒsqdWntjdƒ|j
ƒdS(s1
		Controller main loop. The call is blocking.
		sstarting controlleristerminating controllerN(tlogtinfotstartRtget_booltconstst
CFG_DAEMONtCFG_DEF_DAEMONRRRRtwaittstop(R
tresR((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pytrun3s




cCs|jjƒdS(N(Rtset(R
((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pyt	terminateFstsbscCsdS(N((R
tprofile_nametresultterrstr((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pytprofile_changedIscCs$tjj|ƒ|jj|ƒdS(N(ttunedtlogstlog_capture_finishRR(R
R((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pyt_log_capture_abortRstiitscCs|dkrdStjj|ƒ}|dkr2dS|dkr|tj||jd|gƒ}|jj||ƒ|j	ƒn|dkrŒdS|S(Ntitargs(
R1R2tlog_capture_starttNoneRtTimerR4RRR!(R
t	log_levelttimeouttcallerRR
((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pyR9Vs	
cCsF|dkrdStjj|ƒ}|jj|ƒ|dkrBdS|S(NR7(R1R2R3RRR:(R
RR>R(((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pyR3ds
R7tbcCsa|dkrtS|jjtjtjƒrT|jjƒr>tS|jj	ƒsTtSn|jj
ƒS(NR7(tFalseRR"R#R$R%Rt
is_runningtTruet
is_enabledR!(R
R>((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pyR!lscCsH|dkrtS|jjƒs(t}n|jjƒ}|jjƒ|S(NR7(R@RRARBR'RR(R
R>R(((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pyR'ws	
cCs=|dkrtS|jjƒs#tS|jƒo8|jƒSdS(NR7(R@RRAR'R!(R
R>((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pytreload‚s
cCs |jjƒ}d}t}t}z«y3|rC|jjdtƒn|jj||ƒWnqtjjk
rÊ}t}t	|ƒ}|r¶|jj
j|kr¶tj
d|ƒt}qËtj
d|ƒnXWd|r|rïtjd|ƒn|stjdƒn|jjƒnX||fS(NtOKtprofile_switchs@Failed to reapply profile '%s'. Did it change on disk and break?sFailed to apply profile '%s's>Applying previously applied (possibly out-dated) profile '%s'.s$Applying previously applied profile.(RRARBR@R'tset_profileR1t
exceptionsRtstrtprofiletnameRterrortwarnR R!(R
R-tmanualtwas_runningtmsgtsuccesstreapplyte((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pyt_switch_profile‹s.	s(bs)cCs&|dkrtdfS|j|tƒS(NR7tUnauthorized(R@RTRB(R
R-R>((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pytswitch_profile¦s
cCs2|dkrtdfS|jƒ}|j|tƒS(NR7RU(R@trecommend_profileRT(R
R>R-((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pytauto_profile¬s
cCs7|dkrdS|jjdk	r/|jjjSdSdS(NR7(RRJR:RK(R
R>((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pytactive_profile³s

s(ss)cCs°|dkrdS|jj}|dkrŽy4|jjƒ\}}|dkr[|dk	}nWqŽtk
rŠ}d}t|ƒ}||fSXn|rtjntj	}|dfS(NR7tunknownRU(sunknownsUnauthorized(
RRNR:Rtget_active_profileRRIR#tACTIVE_PROFILE_MANUALtACTIVE_PROFILE_AUTO(R
R>RNRJRStmodeRL((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pytprofile_mode¼scCs^|dkrtS|jjƒr/|jjƒn|jjƒrZ|jjdddtƒntS(NR7tsave_instantly(R@RRAR'RCRGR:RB(R
R>((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pytdisableÎscCs|dkrtS|jjƒS(NR7(R@RRA(R
R>((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pyRAØstascCs#|dkrgS|jjjjƒS(NR7(Rtprofile_loadertprofile_locatortget_known_names(R
R>((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pytprofilesÞssa(ss)cCs#|dkrgS|jjjjƒS(NR7(RRcRdtget_known_names_summary(R
R>((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pyt	profiles2äss(bsss)cCsw|dkrttdddƒS|dks7|dkrF|jƒ}nt|jjjj|tj	tj
gdgƒƒS(NR7(ttupleR@R:RYRRcRdtget_profile_attrsR#tPROFILE_ATTR_SUMMARYtPROFILE_ATTR_DESCRIPTION(R
R-R>((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pytprofile_infoês
cCs9|dkrdS|jjd|jjtjtjƒƒS(NR7t	hardcoded(RRWRR"R#tCFG_RECOMMEND_COMMANDtCFG_DEF_RECOMMEND_COMMAND(R
R>((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pyRWòscCs#|dkrtS|jjdtƒS(NR7tignore_missing(R@Rtverify_profile(R
R>((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pyRrøscCs#|dkrtS|jjdtƒS(NR7Rq(R@RRrRB(R
R>((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pytverify_profile_ignore_missingþsN(RRt__doc__RR)R+RtsignalR0R4texportR:R9R3R!R'RDRTRVRXRYR_RaRARfRhRmRWRrRs(((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pyR%sR					


		(R1Rt
tuned.logsttuned.exceptionsRRttuned.constsR#ttuned.utils.commandsRt__all__R2tgetRtobjectRt
interfacestExportableInterfaceR(((s;/usr/lib/python2.7/site-packages/tuned/daemon/controller.pyt<module>s	

OHA YOOOO