%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/2/root/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/
Upload File :
Create Path :
Current File : //proc/2/root/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyc

�
�SK\c@s?ddlmZmZmZmZmZddlmZmZddlZddlZddl	Z	ddl
Z
ddlZddlZej
ddkr�eZnejZejZejZejZejejejejejejfZejejfZejejfZej ej!ej"ej#fZ$ej%ej&ej'ej(fZ)iZ*e+e,fZ-ej
ddkr�e.e/fZ0ne1e.fZ0ej2Z2d�Z3iZ4d�Z5d	d"d
��YZ6dd#d��YZ7ej
ddkr�d
de.fdde/fddefddefddefddefddefddefddefdde	j8fdde9fdde9fgZ:n�d
de.fdde.fddefddefddefddefddefddefddefdde	j8fdde9fdde9fgZ:dd$d ��YZ;d!�Z<dS(%i����(txpcom_constst_xpcomtclienttnsErrortlogger(tServerExceptiontCOMExceptionNiiicCs+t|dd�}|dkr"dSt|�tkr@|g}ng}t�}x�|D]�}d}t|�tkr�y|j|�}Wq�tk
r�q�Xn|dkr�|j|�}n|j	|j
��|j�}xE|dk	r"|j
�}|tkrPn|j	|�|j�}q�WqVW|S(Nt_com_interfaces_(
tgetattrtNonettypet_interface_sequence_types_tXPTI_GetInterfaceInfoManagert_string_types_tGetInfoForNameRt
GetInfoForIIDtappendtGetIIDt	GetParenttIID_nsISupports(tobjtrettreal_rettiimt	interfacetinterface_infotparentt
parent_iid((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyt_GetNominatedInterfacesKs2	


cCs�tjjdk	r'tjj|�}n|j}tj|�}|dkr�t|�}tjj|t	j
dd�}|t|<n|S(NtbWrapClienti(txpcomtservert
tracer_unwrapR	t	__class__tclass_info_cachetgettDefaultClassInfot
WrapObjectRtIID_nsIClassInfo(tobtklasstci((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pytGetClassInfoForObjectos	
R$cBs5eZejZd�Zd�Zd�Zd�ZRS(cCsg||_t|dd�|_t|dd�|_t|dd�|_d|_d|_d|_dS(Nt_reg_contractid_t
_reg_desc_t_reg_clsid_ii(	R(RR	t
contractIDtclassDescriptiontclassIDtimplementationLanguagetflagst
interfaces(tselfR(((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyt__init__|s			cCs5|jdkr.ttjd|jf��n|jS(NsClass '%r' has no class ID(R0R	RRtNS_ERROR_NOT_IMPLEMENTEDR((R4((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pytget_classID�scCs+|jdkr$t|j�|_n|jS(N(R3R	RR((R4((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyt
getInterfaces�scCsdS(N(R	(R4tlanguage((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pytgetHelperForLanguage�s(	t__name__t
__module__RR&RR5R7R8R:(((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyR$zs
					t
DefaultPolicycBsGeZd�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(cCs�||_t|�|_}||_|dkrGtd|f��n|tkr�||kr�t|dd�}|dks�||�r�tt	j
��q�nd|_i|_dS(Ns/The object '%r' can not be used as a COM objectt_query_interface_(
t_obj_Rt_nominated_interfaces_t_iid_R	t
ValueErrorRRRRtNS_ERROR_NO_INTERFACEt_interface_info_t_interface_iid_map_(R4tinstancetiidtnitdelegate_qi((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyR5�s			c	Cs+||jkr+tjj|j|dd�S|tjkrGt|j�St|jdd�}|dk	rr||�St
s�tj�}x?tD]4\}}}|j
|�j�}||ft
|<q�Wnt
j|d�\}}|dk	r't|j|�r'tjjt||j||�|dd�SdS(NRiR>(NN(R@RRR%R?RR&R*RR	t_supports_primitives_map_Rt_supports_primitives_data_RRR#thasattrtSupportsPrimitive(	R4t
com_objectRGtdelegateRtiid_nametattrtcvttspecial_iid((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyt_QueryInterface_�s 	

+cCs+|dkr�|jdkrBddl}|jj|j�|_n|jj||f�}|dkr�|jj||�}||j||f<q�n|t	kr|j
|�}|j}|tkr�|j
�S|tkr�|j�S|tkr�|j�S|tkr|j�S|tkr&|j�S|tjkr?|j�S|tjkrX|j�S|tjkrq|j�S|tjks�|tjkr�dS|tjkr�|j �S|tj!kr�gS|tj"kr�|j#�St$j%d|�y|j&�SWqt'k
rt$j(d�|SXnt)j*||�S(Ni����s>Warning: nsIVariant type %d not supported - returning a stringsCError: failed to get Variant as a string - returning variant object(+R	RDt	xpcom.xpttxptt	InterfaceRARER#tGetIIDForParamtIID_nsIVarianttQueryInterfacetdataTypetVARIANT_INT_TYPESt
getAsInt32tVARIANT_LONG_TYPESt
getAsInt64tVARIANT_FLOAT_TYPESt
getAsFloattVARIANT_STRING_TYPEStgetAsStringWithSizetVARIANT_UNICODE_TYPEStgetAsWStringWithSizeRt
VTYPE_BOOLt	getAsBooltVTYPE_INTERFACEtgetAsISupportstVTYPE_INTERFACE_IStgetAsInterfacetVTYPE_EMPTYt
VTYPE_VOIDtVTYPE_ARRAYt
getAsArraytVTYPE_EMPTY_ARRAYtVTYPE_IDtgetAsIDRtwarningtgetAsStringRt	exceptionRt	Component(R4RRGtmethod_indextmitparam_indexRtdt((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyt_MakeInterfaceParam_�sT	











c
Csw|\}}}}|ddtjks<td|f��t|�r�t|jd|d�}	|	dkr�t|�dkr�t|�dks�td��t|j|�}n|	|�}d|fSt|�rQt|jd|d�}	|	dkrCt|�dkrt|�dks)td��t	|j||d�n
|	|�dSt|j|�}	d|	|�fSdS(NiisExpected an nsresult (%s)tget_s7Can only handle a single [out] arg for a default gettertset_s6Can only handle a single [in] arg for a default setter(
Rt	TD_UINT32tAssertionErrortXPT_MD_IS_GETTERRR?R	tlentXPT_MD_IS_SETTERtsetattr(
R4RNtindextinfotparamsR2tnametparam_descsRtfunc((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyt_CallMethod_s$*0
0
cBs|d}e|e�}|r�ejej�r�yCejddkrRddUn!|d|d�j|d��Wq�ej	d||dd�q�Xn|j
SyCejddkr�ddUn!|d|d�j|d��Wnejd|�nXej
S(Niiis+raise exc_info[0], exc_info[1], exc_info[2]s'%s' raised COM Exception %stexc_infos Unhandled exception calling '%s'(t
isinstanceRRtisEnabledFortloggingtDEBUGtsystversion_infotwith_tracebacktdebugterrnoRuRtNS_ERROR_FAILURE(R4t	func_nameR�texc_valtis_server_exception((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyt_doHandleExceptions&
%	%cCs�|\}}}}	|\}
}}y:ddl}
|
jj||d�}|j�j�}Wn=tk
r~d||f}n|jdtj	��nX|j||�S(Ni����s%s(%r)s<building method repr>(
RURVtMethodR	tDescribetlstripRR�R�R�(R4RNR�R�R�R�R2R�R�Rtexc_typR�texc_tbRtmt	func_repr((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyt_CallMethodException_?s
cCs|j||�S(N(R�(R4R�R�((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyt_GatewayException_Vs(	R;R<R5RTR{R�R�R�R�(((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyR=�s		(	2		$	tnsISupportsCStringt__str__tnsISupportsStringt__unicode__tnsISupportsPRUint64t__long__tnsISupportsPRInt64tnsISupportsPRUint32t__int__tnsISupportsPRInt32tnsISupportsPRUint16tnsISupportsPRInt16tnsISupportsPRUint8tnsISupportsPRBoolt__nonzero__tnsISupportsDoublet	__float__tnsISupportsFloatRMcBs>eZdgZd�Zd�Zd�Zd�Zd�ZRS(tnsISupportscCs(||_||_||_||_dS(N(RGtbase_obt	attr_namet	converter(R4RGR�R�R�((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyR5{s			cCs||jkrdSdS(Ni(RGR	(R4RG((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyR>�scCs+t|j|j�}|�}|j|�S(N(RR�R�R�(R4tmethodtval((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pytget_data�s	cCsttj��dS(N(RRR6(R4R�((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pytset_data�scCst|j��S(N(tstrR�(R4((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyttoString�s(R;R<RR5R>R�R�R�(((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyRMys					cCstj�dS(N(R"tclear(((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyt	_shutdown�s((((=RRRRRRRRtxpcom.servertoperatorttypesR�R�R�tinttlongRRYR�R�t
VTYPE_INT8tVTYPE_INT16tVTYPE_INT32tVTYPE_UINT8tVTYPE_UINT16R\tVTYPE_INT64tVTYPE_UINT64R^tVTYPE_FLOATtVTYPE_DOUBLER`t
VTYPE_CHARtVTYPE_CHAR_STRtVTYPE_STRING_SIZE_ISt
VTYPE_CSTRINGRbtVTYPE_WCHARtVTYPE_DOMSTRINGtVTYPE_WSTRING_SIZE_ISt
VTYPE_ASTRINGRdRJttupletlistRR�tunicodeR
tbytesRRR"R*R$R=ttruthtfloatRKRMR�(((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyt<module>&sv(							"	�

Zerion Mini Shell 1.0