diff src/tools/memory.py @ 305:15a12bf2bb62

core: server identities are now save in memory
author Goffi <goffi@goffi.org>
date Thu, 07 Apr 2011 22:21:16 +0200
parents 6a0c6d8e119d
children b544bec477dd
line wrap: on
line diff
--- a/src/tools/memory.py	Sat Mar 26 17:51:19 2011 +0100
+++ b/src/tools/memory.py	Thu Apr 07 22:21:16 2011 +0200
@@ -398,6 +398,7 @@
         self.history={}  #used to store chat history (key: short jid)
         self.private={}  #used to store private value
         self.server_features={} #used to store discovery's informations
+        self.server_identities={}
         host.set_const('savefile_history', SAVEFILE_HISTORY)
         host.set_const('savefile_private', SAVEFILE_PRIVATE)
         self.load()
@@ -545,6 +546,19 @@
         if not self.server_features.has_key(profile):
             self.server_features[profile] = []
         self.server_features[profile].append(feature)
+    
+    def addServerIdentity(self, category, type, entity, profile):
+        """Add an identity discovered from server
+        @param feature: string of the feature
+        @param profile: which profile is using this server ?"""
+        if not self.server_identities.has_key(profile):
+            self.server_identities[profile] = {}
+        self.server_identities[profile][(category, type)] = entity
+
+    def getServerServiceEntity(self, category, type, profile):
+        if self.server_identities.has_key(profile):
+            return self.server_identities[profile].get((category, type))
+        return None
 
     def hasServerFeature(self, feature, profile_key='@DEFAULT@'):
         """Tell if the server of the profile has the required feature"""