관리-도구
편집 파일: controller.cpython-39.opt-1.pyc
a ����,�g� ����������������������@���s4���d�dl�mZ�ddlZddlZG�dd��dejj�ZdS�)����)� interfaces�����Nc�����������������������s����e�Zd�ZdZ��fdd�Zdd��Zdd��Zdd ��Zd d��Zdd ��Z dd��Z dd��Zdd��Zdd��Z dd��Zdd��Zdd��Zdd��Zdd��Zd d!��Zd"d#��Z���ZS�)$�ExportsControllerz4 Controls and manages object interface exporting. c��������������������s$���t�t|������g�|�_g�|�_d|�_d�S�)NF)�superr����__init__� _exporters�_objects�_exports_initialized)�self�� __class__���</usr/lib/python3.9/site-packages/tuned/exports/controller.pyr��� ���s����zExportsController.__init__c�����������������C���s���|�j��|��dS�)zRegister objects exporter.N)r����append�r ����instancer ���r ���r����register_exporter���s����z#ExportsController.register_exporterc�����������������C���s���|�j��|��dS�)zRegister object to be exported.N)r���r���r���r ���r ���r����register_object���s����z!ExportsController.register_objectc�����������������C���s���t��|�ot|d�S�)z8Check if method was marked with @exports.export wrapper.� export_params��inspectZismethod�hasattr�r ����methodr ���r ���r����_is_exportable_method���s����z'ExportsController._is_exportable_methodc�����������������C���s���t��|�ot|d�S�)z8Check if method was marked with @exports.signal wrapper.� signal_paramsr���r���r ���r ���r����_is_exportable_signal���s����z'ExportsController._is_exportable_signalc�����������������C���s���t��|�ot|d�S�)z>Check if method was marked with @exports.get_property wrapper.�property_get_paramsr���r���r ���r ���r����_is_exportable_getter ���s����z'ExportsController._is_exportable_getterc�����������������C���s���t��|�ot|d�S�)z>Check if method was marked with @exports.set_property wrapper.�property_set_paramsr���r���r ���r ���r����_is_exportable_setter$���s����z'ExportsController._is_exportable_setterc�����������������C���s<���|�j�D�]0}|jd�}|jd�}|j|g|�R�i�|���qdS�)z!Register method to all exporters.r���r���N)r���r���Zexport�r ���r����exporter�args�kwargsr ���r ���r����_export_method(���s���� z ExportsController._export_methodc�����������������C���s<���|�j�D�]0}|jd�}|jd�}|j|g|�R�i�|���qdS�)�!Register signal to all exporters.r���r���N)r���r����signalr!���r ���r ���r����_export_signal/���s���� z ExportsController._export_signalc�����������������C���s<���|�j�D�]0}|jd�}|jd�}|j|g|�R�i�|���qdS�)z*Register property getter to all exporters.r���r���N)r���r���Zproperty_getterr!���r ���r ���r����_export_getter6���s���� z ExportsController._export_getterc�����������������C���s<���|�j�D�]0}|jd�}|jd�}|j|g|�R�i�|���qdS�)z*Register property setter to all exporters.r���r���N)r���r���Zproperty_setterr!���r ���r ���r����_export_setter=���s���� z ExportsController._export_setterc�����������������O���s(���|�j�D�]}|j|g|�R�i�|���qdS�)r&���N)r����send_signal)r ���r'���r#���r$���r"���r ���r ���r���r+���D���s���� zExportsController.send_signalc�����������������O���s ���|�j�D�]}|j|i�|���qd�S�)N)r����property_changed)r ���r#���r$���r"���r ���r ���r���r,���I���s���� z"ExportsController.property_changedc�����������������C���s���|�j�D�]}|����qdS�)z=Allows to perform checks on exporters without special thread.N)r����period_check�r ���r"���r ���r ���r���r-���M���s���� zExportsController.period_checkc�����������������C���s����|�j�r d�S�|�jD�]�}t�||�j�D�]\}}|��|��q"t�||�j�D�]\}}|��|��qDt�||�j�D�]\}}|�� |��qft�||�j �D�]\}}|��|��q�qd|�_�d�S�)NT)r ���r���r���Z getmembersr���r%���r���r(���r���r)���r ���r*���)r ���r����namer���r ���r ���r����_initialize_exportsR���s���� z%ExportsController._initialize_exportsc�����������������C���s ���|������|�jD�]}|����qdS�)zStart the exports.N)r0���r����startr.���r ���r ���r���r1���b���s���� zExportsController.startc�����������������C���s���|�j�D�]}|����qdS�)zStop the exports.N)r����stopr.���r ���r ���r���r2���h���s���� zExportsController.stop)�__name__� __module__�__qualname__�__doc__r���r���r���r���r���r���r ���r%���r(���r)���r*���r+���r,���r-���r0���r1���r2���� __classcell__r ���r ���r���r���r������s$���r���)��r���r���Ztuned.patternsZtuned�patternsZ Singletonr���r ���r ���r ���r����<module>���s���