Changeset 66

Show
Ignore:
Timestamp:
04/09/06 14:03:37 (4 years ago)
Author:
bradfitz
Message:

start extending RosterStorage.pm to deal with new hooks

Location:
trunk
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • trunk/djabberd

    r56 r66  
    3838                                         DJabberd::Delivery::Local->new(), 
    3939                                         DJabberd::Delivery::S2S->new(), 
    40                                          #DJabberd::RosterStorage::SQLite->new("$Bin/roster.sqlite"), 
     40                                         DJabberd::RosterStorage::SQLite->new("$Bin/roster.sqlite"), 
    4141                                         #DJabberd::RosterStorage::Dummy->new, 
    42                                          DJabberd::RosterStorage::LiveJournal->new, 
     42                                         #DJabberd::RosterStorage::LiveJournal->new, 
    4343                                         ], 
    4444                           ); 
  • trunk/lib/DJabberd/IQ.pm

    r65 r66  
    109109 
    110110    # {=xmpp-ip-7.6-must-ignore-subscription-values} 
    111     my $subattr  = $item->attr('subscription') || ""; 
     111    my $subattr  = $item->attr('{jabber:iq:roster}subscription') || ""; 
    112112    my $removing = $subattr eq "remove" ? 1 : 0; 
    113113 
  • trunk/lib/DJabberd/RosterStorage.pm

    r54 r66  
    1212} 
    1313 
     14# don't override, or at least call SUPER to this if you do. 
    1415sub register { 
    1516    my ($self, $vhost) = @_; 
     
    1920        $self->get_roster($cb, $conn, $jid); 
    2021    }); 
     22    $vhost->register_hook("RosterSetItem", sub { 
     23        my ($conn, $cb, $ritem) = @_; 
     24        my $jid = $conn->bound_jid; 
     25        $self->set_roster_item($cb, $conn, $jid, $ritem); 
     26    }); 
     27    $vhost->register_hook("RosterRemoveItem", sub { 
     28        my ($conn, $cb, $ritem) = @_; 
     29        my $jid = $conn->bound_jid; 
     30        $self->delete_roster_item($cb, $conn, $jid, $ritem); 
     31    }); 
    2132} 
    2233 
     34# override this. 
    2335sub get_roster { 
    2436    my ($self, $cb, $conn, $jid) = @_; 
    25     die "NOT IMPLEMENTED BY '$_[0]'.  SUBCLASSES MUST IMPLEMENT."; 
     37    $cb->declined; 
     38} 
     39 
     40# override this. 
     41sub set_roster_item { 
     42    my ($self, $cb, $conn, $jid, $ritem) = @_; 
     43    $cb->declined; 
     44} 
     45 
     46# override this. 
     47sub delete_roster_item { 
     48    my ($self, $cb, $conn, $jid, $ritem) = @_; 
     49    $cb->declined; 
    2650} 
    2751 
  • trunk/lib/DJabberd/RosterStorage/SQLite.pm

    r55 r66  
    110110} 
    111111 
     112sub set_roster_item { 
     113    my ($self, $cb, $conn, $jid, $ritem) = @_; 
     114    warn "set roster item!\n"; 
     115    $cb->declined; 
     116} 
     117 
     118sub delete_roster_item { 
     119    my ($self, $cb, $conn, $jid, $ritem) = @_; 
     120    warn "delete roster item!\n"; 
     121    $cb->declined; 
     122} 
     123 
    1121241;