use of org.eclipse.ecf.core.events.ContainerConnectedEvent in project ecf by eclipse.
the class DnsSdDiscoveryAdvertiser method connect.
/* (non-Javadoc)
* @see org.eclipse.ecf.provider.dnssd.DnsSdDiscoveryLocator#connect(org.eclipse.ecf.core.identity.ID, org.eclipse.ecf.core.security.IConnectContext)
*/
public void connect(final ID aTargetID, final IConnectContext connectContext) throws ContainerConnectException {
// $NON-NLS-1$ //$NON-NLS-2$
Trace.trace(Activator.PLUGIN_ID, DnsSdDebugOptions.METHODS_TRACING, this.getClass(), "connect(ID aTargetID, IConnectContext connectContext)", "connecting container");
// connect can only be called once
if (targetID != null || getConfig() == null) {
throw new ContainerConnectException(Messages.DnsSdDiscoveryAdvertiser_Container_Already_Connected);
}
// TODO convert non DnsSdServiceTypeIDs into DSTIDs
if (aTargetID == null) {
targetID = new DnsSdServiceTypeID();
} else {
final Namespace ns = getConnectNamespace();
try {
targetID = (DnsSdServiceTypeID) ns.createInstance(new Object[] { aTargetID });
} catch (IDCreateException e) {
throw new ContainerConnectException(e);
}
}
// instantiate a default resolver
if (resolver == null) {
try {
resolver = new SimpleResolver();
resolver.setTCP(true);
} catch (UnknownHostException e) {
throw new ContainerConnectException(e);
}
}
// done setting up this provider, send event
fireContainerEvent(new ContainerConnectingEvent(this.getID(), targetID, connectContext));
fireContainerEvent(new ContainerConnectedEvent(this.getID(), targetID));
}
use of org.eclipse.ecf.core.events.ContainerConnectedEvent in project ecf by eclipse.
the class RSExampleContainer method connect.
/*
* (non-Javadoc)
*
* @see org.eclipse.ecf.core.IContainer#connect(org.eclipse.ecf.core.identity.ID,
* org.eclipse.ecf.core.security.IConnectContext)
*/
public void connect(ID targetID, IConnectContext connectContext) throws ContainerConnectException {
if (!targetID.getNamespace().getName().equals(getConnectNamespace().getName()))
throw new ContainerConnectException("targetID not of appropriate Namespace");
fireContainerEvent(new ContainerConnectingEvent(getID(), targetID));
// XXX connect to remote service here
this.targetID = targetID;
fireContainerEvent(new ContainerConnectedEvent(getID(), targetID));
}
use of org.eclipse.ecf.core.events.ContainerConnectedEvent in project ecf by eclipse.
the class TrivialContainer method connect.
/*
* (non-Javadoc)
*
* @see org.eclipse.ecf.core.IContainer#connect(org.eclipse.ecf.core.identity.ID,
* org.eclipse.ecf.core.security.IConnectContext)
*/
public void connect(ID targetID, IConnectContext connectContext) throws ContainerConnectException {
if (!targetID.getNamespace().getName().equals(getConnectNamespace().getName()))
throw new ContainerConnectException("targetID not of appropriate Namespace");
fireContainerEvent(new ContainerConnectingEvent(getID(), targetID));
// XXX connect to remote service here
this.targetID = targetID;
fireContainerEvent(new ContainerConnectedEvent(getID(), targetID));
}
use of org.eclipse.ecf.core.events.ContainerConnectedEvent in project ecf by eclipse.
the class XMPPChatRoomContainer method connect.
public void connect(ID remote, IConnectContext connectContext) throws ContainerConnectException {
if (!(remote instanceof XMPPRoomID)) {
throw new ContainerConnectException(NLS.bind(Messages.XMPPChatRoomContainer_Exception_Connect_Wrong_Type, remote));
}
final XMPPRoomID roomID = (XMPPRoomID) remote;
fireContainerEvent(new ContainerConnectingEvent(this.getID(), remote, connectContext));
synchronized (getConnectLock()) {
try {
connectionState = CONNECTING;
remoteServerID = null;
addSharedObjectToContainer(remote);
multiuserchat = new MultiUserChat(getXMPPConnection(), roomID.getMucString());
// Get nickname from join context
String nick = null;
try {
final Callback[] callbacks = new Callback[1];
callbacks[0] = new NameCallback(Messages.XMPPChatRoomContainer_NAME_CALLBACK_NICK, roomID.getNickname());
if (connectContext != null) {
final CallbackHandler handler = connectContext.getCallbackHandler();
if (handler != null) {
handler.handle(callbacks);
}
}
if (callbacks[0] instanceof NameCallback) {
final NameCallback cb = (NameCallback) callbacks[0];
nick = cb.getName();
}
} catch (final Exception e) {
throw new ContainerConnectException(Messages.XMPPChatRoomContainer_EXCEPTION_CALLBACKHANDLER, e);
}
String nickname = null;
if (// $NON-NLS-1$
nick == null || nick.equals(""))
nickname = roomID.getNickname();
else
nickname = nick;
multiuserchat.addSubjectUpdatedListener(new SubjectUpdatedListener() {
public void subjectUpdated(String subject, String from) {
fireSubjectUpdated(subject, from);
}
});
multiuserchat.addMessageListener(new PacketListener() {
public void processPacket(Packet arg0) {
handleXMPPMessage(arg0);
}
});
multiuserchat.addParticipantListener(new PacketListener() {
public void processPacket(Packet arg0) {
handleXMPPMessage(arg0);
}
});
multiuserchat.addParticipantStatusListener(new ParticipantStatusListener() {
public void joined(String arg0) {
handleChatMembershipEvent(arg0, true);
}
public void left(String arg0) {
handleChatMembershipEvent(arg0, false);
}
public void voiceGranted(String arg0) {
// TODO Auto-generated method stub
// $NON-NLS-1$ //$NON-NLS-2$
System.out.println("voiceGranted(" + arg0 + ")");
}
public void voiceRevoked(String arg0) {
// TODO Auto-generated method stub
// $NON-NLS-1$ //$NON-NLS-2$
System.out.println("voiceRevoked(" + arg0 + ")");
}
public void membershipGranted(String arg0) {
// TODO Auto-generated method stub
System.out.println(// $NON-NLS-1$
"membershipGranted(" + arg0 + // $NON-NLS-1$
")");
}
public void membershipRevoked(String arg0) {
// TODO Auto-generated method stub
System.out.println(// $NON-NLS-1$
"membershipRevoked(" + arg0 + // $NON-NLS-1$
")");
}
public void moderatorGranted(String arg0) {
// TODO Auto-generated method stub
System.out.println(// $NON-NLS-1$
"moderatorGranted(" + arg0 + // $NON-NLS-1$
")");
}
public void moderatorRevoked(String arg0) {
// TODO Auto-generated method stub
System.out.println(// $NON-NLS-1$
"moderatorRevoked(" + arg0 + // $NON-NLS-1$
")");
}
public void ownershipGranted(String arg0) {
// TODO Auto-generated method stub
System.out.println(// $NON-NLS-1$
"ownershipGranted(" + arg0 + // $NON-NLS-1$
")");
}
public void ownershipRevoked(String arg0) {
// TODO Auto-generated method stub
System.out.println(// $NON-NLS-1$
"ownershipRevoked(" + arg0 + // $NON-NLS-1$
")");
}
public void adminGranted(String arg0) {
// TODO Auto-generated method stub
// $NON-NLS-1$ //$NON-NLS-2$
System.out.println("adminGranted(" + arg0 + ")");
}
public void adminRevoked(String arg0) {
// TODO Auto-generated method stub
// $NON-NLS-1$ //$NON-NLS-2$
System.out.println("adminRevoked(" + arg0 + ")");
}
public void kicked(String arg0, String arg1, String arg2) {
// TODO Auto-generated method stub
System.out.println(// $NON-NLS-1$ //$NON-NLS-2$
"kicked(" + arg0 + "," + arg1 + "," + arg2 + // $NON-NLS-1$ //$NON-NLS-2$
")");
}
public void banned(String arg0, String arg1, String arg2) {
// TODO Auto-generated method stub
System.out.println(// $NON-NLS-1$ //$NON-NLS-2$
"banned(" + arg0 + "," + arg1 + "," + arg2 + // $NON-NLS-1$ //$NON-NLS-2$
")");
}
public void nicknameChanged(String arg0, String arg1) {
// TODO Auto-generated method stub
System.out.println(// $NON-NLS-1$
"nicknameChanged(" + arg0 + "," + arg1 + // $NON-NLS-1$ //$NON-NLS-2$
")");
}
});
multiuserchat.addInvitationRejectionListener(new InvitationRejectionListener() {
public void invitationDeclined(String arg0, String arg1) {
// TODO Auto-generated method stub
System.out.println(// $NON-NLS-1$
"invitationDeclined(" + arg0 + "," + arg1 + // $NON-NLS-1$ //$NON-NLS-2$
")");
}
});
multiuserchat.join(nickname);
connectionState = CONNECTED;
remoteServerID = roomID;
containerHelper.setRoomID(remoteServerID);
fireContainerEvent(new ContainerConnectedEvent(this.getID(), roomID));
} catch (final Exception e) {
cleanUpConnectFail();
final ContainerConnectException ce = new ContainerConnectException(NLS.bind(Messages.XMPPChatRoomContainer_EXCEPTION_JOINING_ROOM, roomID));
ce.setStackTrace(e.getStackTrace());
throw ce;
}
}
}
Aggregations