%PDF-
%PDF-
Mini Shell
Mini Shell
�
�SK\c@s?ddlmZmZmZmZmZddlmZmZddlZddlZddl Z ddl
Z
ddlZddlZej
ddkr�eZnejZejZejZejZejejejejejejfZejejfZejejfZej ej!ej"ej#fZ$ej%ej&ej'ej(fZ)iZ*e+e,fZ-ej
ddkr�e.e/fZ0ne1e.fZ0ej2Z2d�Z3iZ4d�Z5d d"d
��YZ6dd#d��YZ7ej
ddkr�d
de.fdde/fddefddefddefddefddefddefddefdde j8fdde9fdde9fgZ:n�d
de.fdde.fddefddefddefddefddefddefddefdde j8fdde9fdde9fgZ:dd$d ��YZ;d!�Z<dS(%i����(txpcom_constst_xpcomtclienttnsErrortlogger(tServerExceptiontCOMExceptionNiiicCs+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
�}|tkrPn|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��nd|_i|_dS(Ns/The object '%r' can not be used as a COM object(t_obj_Rt_nominated_interfaces_t_iid_R t
ValueErrort_interface_info_t_interface_iid_map_(R4tinstancetiidtni((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?tD]4\}}}|j
|�j�}||ft
|<q�Wnt
j|d�\}}|dk r't|j|�r'tjjt||j||�|dd�SdS(NRit_query_interface_(NN(R?RRR%R>RR&R*RR t_supports_primitives_map_Rt_supports_primitives_data_RRR#thasattrtSupportsPrimitive( R4t
com_objectREtdelegateRtiid_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}|tkr�|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 RBt xpcom.xpttxptt InterfaceR@RCR#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(R4RREtmethod_indextmitparam_indexRtdt((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyt_MakeInterfaceParam_�sT
c
Cs�|\}}}}t|�rnt|jd|d�} | dkrXt|j|�}n| |�}d|fSt|�r�t|jd|d�} | dkr�t|j||d�n
| |�dSt|j|�} d| |�fSdS(Ntget_itset_(tXPT_MD_IS_GETTERRR>R tXPT_MD_IS_SETTERtsetattr(
R4RLtindextinfotparamsR2tnametparam_descsRtfunc((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyt_CallMethod_s
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|�nXej
S(Niiis+raise exc_info[0], exc_info[1], exc_info[2]s'%s' raised COM Exception %stexc_infos Unhandled exception calling '%s'(t
isinstanceRRtisEnabledFortloggingtDEBUGtsystversion_infotwith_tracebacktdebugterrnoRsRtNS_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>(
RSRTtMethodR tDescribetlstripRR�R�R�(R4RLRR�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<R5RRRyR�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__tnsISupportsFloatRKcBs>eZdgZd�Zd�Zd�Zd�Zd�ZRS(tnsISupportscCs(||_||_||_||_dS(N(REtbase_obt attr_namet converter(R4RER�R�R�((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyR5{s cCs||jkrdSdS(Ni(RER (R4RE((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyRG�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<RR5RGR�R�R�(((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyRKys cCstj�dS(N(R"tclear(((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyt _shutdown�s((((=RRRRRRRRtxpcom.servertoperatorttypesR�R�R�tinttlongRRWR|R}t
VTYPE_INT8tVTYPE_INT16tVTYPE_INT32tVTYPE_UINT8tVTYPE_UINT16RZtVTYPE_INT64tVTYPE_UINT64R\tVTYPE_FLOATtVTYPE_DOUBLER^t
VTYPE_CHARtVTYPE_CHAR_STRtVTYPE_STRING_SIZE_ISt
VTYPE_CSTRINGR`tVTYPE_WCHARtVTYPE_DOMSTRINGtVTYPE_WSTRING_SIZE_ISt
VTYPE_ASTRINGRbRHttupletlistRR�tunicodeR
tbytesRRR"R*R$R=ttruthtfloatRIRKR�(((sD/usr/lib/virtualbox/sdk/bindings/xpcom/python/xpcom/server/policy.pyt<module>&sv( " �
Zerion Mini Shell 1.0