Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar/p2p
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2006-06-16 17:06:11 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2006-06-16 17:06:11 (GMT)
commit4a0e8ac2d404a78bbeb75ef16f3604c2d74191d7 (patch)
treee4d9ae985045d0ef7ecfc3ca16fb44e6a8dbdccc /sugar/p2p
parent29fb2321fec21fea36ed5b5b234600ac7de78bb6 (diff)
Some work on the getting model back
Diffstat (limited to 'sugar/p2p')
-rw-r--r--sugar/p2p/model/LocalModel.py11
-rw-r--r--sugar/p2p/model/Store.py22
2 files changed, 6 insertions, 27 deletions
diff --git a/sugar/p2p/model/LocalModel.py b/sugar/p2p/model/LocalModel.py
index d1489ec..7fb24a0 100644
--- a/sugar/p2p/model/LocalModel.py
+++ b/sugar/p2p/model/LocalModel.py
@@ -19,9 +19,9 @@ class LocalModel(AbstractModel):
SERVICE_TYPE = "_olpc_model._tcp"
SERVICE_PORT = 6300
- def __init__(self, group, model_id):
+ def __init__(self, pservice, model_id):
AbstractModel.__init__(self)
- self._group = group
+ self._pservice = pservice
self._model_id = model_id
self._values = {}
@@ -37,10 +37,11 @@ class LocalModel(AbstractModel):
self._notifier.notify(key)
def _setup_service(self):
- service = Service(self._model_id, LocalModel.SERVICE_TYPE,
- LocalModel.SERVICE_PORT)
+ self._service = self._pservice.share_activity(self,
+ stype=LocalModel.SERVICE_TYPE,
+ '', port=LocalModel.PORT_TYPE
+ properties=properties)
self._setup_server(service)
- service.register(self._group)
# FIXME this is duplicated with StreamReader
def _setup_server(self, service):
diff --git a/sugar/p2p/model/Store.py b/sugar/p2p/model/Store.py
deleted file mode 100644
index 55ff89d..0000000
--- a/sugar/p2p/model/Store.py
+++ /dev/null
@@ -1,22 +0,0 @@
-from sugar.p2p.model.RemoteModel import RemoteModel
-from sugar.p2p.model.LocalModel import LocalModel
-
-class Store:
- def __init__(self, group):
- self._group = group
- self._local_models = {}
-
- def create_model(self, model_id):
- model = LocalModel(self._group, model_id)
- self._local_models[model_id] = model
- return model
-
- def get_model(self, model_id):
- if self._local_models.has_key(model_id):
- return self._local_models[model_id]
- else:
- service = self._group.get_service(model_id, LocalModel.SERVICE_TYPE)
- if service:
- return RemoteModel(self._group, service)
- else:
- return None