# HG changeset patch # User Da Risk # Date 1237497798 -3600 # Node ID 7057a9d3657adfc6d735b1bb86e67fa7ca3e31d2 # Parent a49d1556772ca102805a8ae969f55bcf0efb36a8 Add some adapter for smack classes diff -r a49d1556772c -r 7057a9d3657a src/com/beem/project/beem/service/RosterAdapter.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/com/beem/project/beem/service/RosterAdapter.java Thu Mar 19 22:23:18 2009 +0100 @@ -0,0 +1,61 @@ +/** + * + */ +package com.beem.project.beem.service; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +import org.jivesoftware.smack.Roster; +import org.jivesoftware.smack.RosterEntry; +import org.jivesoftware.smack.XMPPException; + +import android.os.RemoteException; + +import com.beem.project.beem.service.aidl.IRosterEntry; +import com.beem.project.beem.service.aidl.IRoster.Stub; + +/** + * @author darisk + * + */ +public class RosterAdapter extends com.beem.project.beem.service.aidl.IRoster.Stub { + + private Roster adaptee; + + public RosterAdapter(Roster roster) { + adaptee = roster; + } + + @Override + public IRosterEntry createEntry(String user, String name, String[] groups) + throws RemoteException { + try { + adaptee.createEntry(user, name, groups); + } catch (XMPPException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return null; + } + + @Override + public void createGroup(String groupname) throws RemoteException { + // TODO Auto-generated method stub + adaptee.createGroup(groupname); + } + + @Override + public List getEntries() throws RemoteException { + // TODO Auto-generated method stub + Collection col = adaptee.getEntries(); + ArrayList result = new ArrayList(col.size()); + for (RosterEntry rosterEntry : col ) { + result.add(new RosterEntryAdapter(rosterEntry)); + } + return result; + } + + +} diff -r a49d1556772c -r 7057a9d3657a src/com/beem/project/beem/service/RosterEntryAdapter.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/com/beem/project/beem/service/RosterEntryAdapter.java Thu Mar 19 22:23:18 2009 +0100 @@ -0,0 +1,42 @@ +/** + * + */ +package com.beem.project.beem.service; + +import org.jivesoftware.smack.RosterEntry; +import org.jivesoftware.smack.XMPPConnection; +import org.jivesoftware.smack.packet.RosterPacket.ItemStatus; +import org.jivesoftware.smack.packet.RosterPacket.ItemType; + +import android.os.IBinder; +import android.os.RemoteException; + +import com.beem.project.beem.service.aidl.IRosterEntry; + +/** + * @author darisk + * + */ +public class RosterEntryAdapter extends IRosterEntry.Stub { + + private RosterEntry adaptee; + + public RosterEntryAdapter(RosterEntry entry) { + adaptee = entry; + } + + @Override + public String getName() throws RemoteException { + return adaptee.getName(); + } + + @Override + public String getUser() throws RemoteException { + return adaptee.getUser(); + } + + @Override + public void setName(String name) throws RemoteException { + adaptee.setName(name); + } +} diff -r a49d1556772c -r 7057a9d3657a src/com/beem/project/beem/service/XMPPConnectionAdapter.java --- a/src/com/beem/project/beem/service/XMPPConnectionAdapter.java Thu Mar 19 21:31:20 2009 +0100 +++ b/src/com/beem/project/beem/service/XMPPConnectionAdapter.java Thu Mar 19 22:23:18 2009 +0100 @@ -7,7 +7,10 @@ import org.jivesoftware.smack.XMPPConnection; import org.jivesoftware.smack.XMPPException; +import android.os.RemoteException; + import com.beem.project.beem.BeemException; +import com.beem.project.beem.service.aidl.IRoster; import com.beem.project.beem.service.aidl.IXMPPConnection; /** @@ -15,6 +18,7 @@ * */ public class XMPPConnectionAdapter extends IXMPPConnection.Stub { + private XMPPConnection adaptee; private BeemException lastException; @@ -57,4 +61,9 @@ } return false; } + + @Override + public IRoster getRoster() throws RemoteException { + return new RosterAdapter(adaptee.getRoster()); + } } diff -r a49d1556772c -r 7057a9d3657a src/com/beem/project/beem/service/aidl/IRoster.aidl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/com/beem/project/beem/service/aidl/IRoster.aidl Thu Mar 19 22:23:18 2009 +0100 @@ -0,0 +1,14 @@ +package com.beem.project.beem.service.aidl; + +import com.beem.project.beem.service.aidl.IRosterEntry; + +interface IRoster { + + IRosterEntry createEntry(in String user, in String name, in String[] groups); + + void createGroup(in String groupname); + + // List + List getEntries(); + +} \ No newline at end of file diff -r a49d1556772c -r 7057a9d3657a src/com/beem/project/beem/service/aidl/IRosterEntry.aidl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/com/beem/project/beem/service/aidl/IRosterEntry.aidl Thu Mar 19 22:23:18 2009 +0100 @@ -0,0 +1,12 @@ +package com.beem.project.beem.service.aidl; + +interface IRosterEntry { + + String getName(); + String getUser(); + void setName(in String name); + //TODO + // getStatus() + // getType + +} \ No newline at end of file diff -r a49d1556772c -r 7057a9d3657a src/com/beem/project/beem/service/aidl/IXMPPConnection.aidl --- a/src/com/beem/project/beem/service/aidl/IXMPPConnection.aidl Thu Mar 19 21:31:20 2009 +0100 +++ b/src/com/beem/project/beem/service/aidl/IXMPPConnection.aidl Thu Mar 19 22:23:18 2009 +0100 @@ -1,5 +1,7 @@ package com.beem.project.beem.service.aidl; +import com.beem.project.beem.service.aidl.IRoster; + interface IXMPPConnection { boolean connect(); @@ -8,4 +10,7 @@ boolean login(in String username, in String password, in String resource); // void login(String username, String password, String resource); + + IRoster getRoster(); + } \ No newline at end of file