�
Ϫ�f_� � �8 � d Z ddlZddlmZ ddlmZmZ ddlmZm Z m
Z
mZ ddlm
Z
ddlmZmZ ddlmZ dd lmZmZmZ dd
lmZmZ ddlmZ ddlmZ dd
lmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2 ddl3m4Z4m5Z5 ddl6m7Z7m8Z8m9Z9m:Z: dZ;dZ< G d� de=� Z> G d� de>� Z? G d� de=� Z@ G d� de=� ZAe G d� d� � ZB G d� de=� ZC G d� de� ZD eeD� G d � d!� � ZE G d"� d#e$� ZF ee5� e G d$� d%e)ej� � � � ZH e1d&eH� G d'� d(� ZI G d)� d*ej� e � ZK G d+� d,e'ej� � ZL e1eKeL� dAd-�ZM G d.� d/ej� � ZOd0� ZPd1� ZQ G d2� d3ej� � ZS G d4� d5ej� � ZU G d6� d7e
� ZV ee!� G d8� d9� � ZW eeWe
e!� G d:� d;� ZX G d<� d=e$eX� ZY eeeV� G d>� d?e$eX� � ZZg d@�Z[y)Ba�
Perspective Broker
"This isn't a professional opinion, but it's probably got enough
internet to kill you." --glyph
Introduction
============
This is a broker for proxies for and copies of objects. It provides a
translucent interface layer to those proxies.
The protocol is not opaque, because it provides objects which represent the
remote proxies and require no context (server references, IDs) to operate on.
It is not transparent because it does I{not} attempt to make remote objects
behave identically, or even similarly, to local objects. Method calls are
invoked asynchronously, and specific rules are applied when serializing
arguments.
To get started, begin with L{PBClientFactory} and L{PBServerFactory}.
@author: Glyph Lefkowitz
� N)�md5)� Interface�implementer)� Anonymous�
IAnonymous�ICredentials�IUsernameHashedPassword)�Portal)�defer�protocol)�styles)�failure�log�reflect)�cmp�
comparable)�registerAdapter)�banana)� Cacheable�Copyable�IPBRoot� Jellyable�NoSuchMethod�
Referenceable�RemoteCache�RemoteCacheObserver�
RemoteCopy�Root�Serializable�Viewable� ViewPoint�copyTags�setCopierForClass�setCopierForClassTree�setFactoryForClass�setUnjellyableFactoryForClass�setUnjellyableForClass�setUnjellyableForClassTree)�
IJellyable�IUnjellyable)�_newInstance�globalSecurity�jelly�unjellyi iS" |