@@ -45,10 +45,11 @@ @try { rosterItems = [[OFMutableDictionary alloc] init]; connection = connection_; [connection addDelegate: self]; delegates = [[XMPPMulticastDelegate alloc] init]; + dataStorage = [connection dataStorage]; } @catch (id e) { [self release]; @throw e; } @@ -182,10 +183,21 @@ - (void)removeDelegate: (id )delegate { [delegates removeDelegate: delegate]; } + +- (void)setDataStorage: (id )dataStorage_ +{ + /* TODO: Prevent changing it after it has been used */ + dataStorage = dataStorage_; +} + +- (id )dataStorage +{ + return dataStorage; +} - (void)XMPP_addRosterItem: (XMPPRosterItem*)rosterItem { return [self XMPP_updateRosterItem: rosterItem]; }