Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar/p2p/Buddy.py
diff options
context:
space:
mode:
Diffstat (limited to 'sugar/p2p/Buddy.py')
-rw-r--r--sugar/p2p/Buddy.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/sugar/p2p/Buddy.py b/sugar/p2p/Buddy.py
new file mode 100644
index 0000000..19d7c0e
--- /dev/null
+++ b/sugar/p2p/Buddy.py
@@ -0,0 +1,34 @@
+import pwd
+import os
+
+from Service import *
+
+PRESENCE_SERVICE_TYPE = "_olpc_presence._tcp"
+PRESENCE_SERVICE_PORT = 6000
+
+class Buddy:
+ def __init__(self, service, nick_name):
+ self._service = service
+ self._nick_name = nick_name
+
+ def get_service_name(self):
+ return self._service.get_name()
+
+ def get_nick_name(self):
+ return self._nick_name
+
+class Owner(Buddy):
+ def __init__(self, group):
+ self._group = group
+
+ nick = pwd.getpwuid(os.getuid())[0]
+ if not nick or not len(nick):
+ nick = "n00b"
+
+ service = Service(nick, PRESENCE_SERVICE_TYPE,
+ '', PRESENCE_SERVICE_PORT)
+
+ Buddy.__init__(self, service, nick)
+
+ def register(self):
+ self._service.register(self._group)