B
    áÉ’\þ	  ã               @   sT   d dl Z G dd„ deƒZdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Zdd„ Z	dS )é    Nc               @   sN   e Zd ZdgZedd„ ƒZdd„ Zdd„ Zdd	„ Zd
d„ Z	dd„ Z
dd„ ZdS )ÚObserveÚ_tabc             C   s.   t j t jj||¡}tƒ }| ||| ¡ |S )N)ÚflatbuffersÚencodeÚGetÚpackerÚuoffsetr   ÚInit)ÚclsÚbufÚoffsetÚnÚx© r   úV/global/project/projectdirs/dasrepo/etalumis/pyprob_master_mar20/pyprob/ppx/Observe.pyÚGetRootAsObserve
   s    zObserve.GetRootAsObservec             C   s   t j ||¡| _d S )N)r   ÚtableÚTabler   )Úselfr   Úposr   r   r   r	      s    zObserve.Initc             C   s6   t jj | j d¡¡}|dkr2| j || jj ¡S d S )Né   r   )r   Únumber_typesÚUOffsetTFlagsÚpy_typer   ÚOffsetÚStringÚPos)r   Úor   r   r   ÚAddress   s    zObserve.Addressc             C   s6   t jj | j d¡¡}|dkr2| j || jj ¡S d S )Né   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   ÚName   s    zObserve.Namec             C   s<   t jj | j d¡¡}|dkr8| j t jj|| jj ¡S dS )Né   r   )	r   r   r   r   r   r   r   Ú
Uint8Flagsr   )r   r   r   r   r   ÚDistributionType$   s    zObserve.DistributionTypec             C   sL   t jj | j d¡¡}|dkrHddlm} |tƒ dƒ}| j 	||¡ |S d S )Né
   r   )r   )
r   r   r   r   r   r   Úflatbuffers.tabler   Ú	bytearrayÚUnion)r   r   r   Úobjr   r   r   ÚDistribution+   s    zObserve.Distributionc             C   s\   t jj | j d¡¡}|dkrX| j || jj ¡}ddlm} |ƒ }| 	| jj
|¡ |S d S )Né   r   é   )ÚTensor)r   r   r   r   r   r   ÚIndirectr   r,   r	   ÚBytes)r   r   r   r,   r(   r   r   r   ÚValue5   s    zObserve.ValueN)Ú__name__Ú
__module__Ú__qualname__Ú	__slots__Úclassmethodr   r	   r   r    r#   r)   r/   r   r   r   r   r      s   
r   c             C   s   |   d¡ d S )Né   )ÚStartObject)Úbuilderr   r   r   ÚObserveStart?   s    r8   c             C   s   |   dtjj |¡d¡ d S )Nr   )ÚPrependUOffsetTRelativeSlotr   r   r   r   )r7   Úaddressr   r   r   ÚObserveAddAddress@   s    r;   c             C   s   |   dtjj |¡d¡ d S )Nr+   r   )r9   r   r   r   r   )r7   Únamer   r   r   ÚObserveAddNameA   s    r=   c             C   s   |   d|d¡ d S )Né   r   )ÚPrependUint8Slot)r7   ÚdistributionTyper   r   r   ÚObserveAddDistributionTypeB   s    rA   c             C   s   |   dtjj |¡d¡ d S )Né   r   )r9   r   r   r   r   )r7   Údistributionr   r   r   ÚObserveAddDistributionC   s    rD   c             C   s   |   dtjj |¡d¡ d S )Nr   r   )r9   r   r   r   r   )r7   Úvaluer   r   r   ÚObserveAddValueD   s    rF   c             C   s   |   ¡ S )N)Ú	EndObject)r7   r   r   r   Ú
ObserveEndE   s    rH   )
r   Úobjectr   r8   r;   r=   rA   rD   rF   rH   r   r   r   r   Ú<module>   s   8