Saros
Distributed Collaborative Editing and Distributed Party Programming
|
Public Member Functions | |
ISarosSession | getSarosSession () |
void | startSession (Map< IProject, List< IResource >> projectResources) |
ISarosSession | joinSession (final String id, JID host, String clientNickname, String hostNickname, int clientColor, int hostColor) |
void | stopSarosSession () |
void | addSarosSessionListener (ISarosSessionListener listener) |
void | removeSarosSessionListener (ISarosSessionListener listener) |
void | invitationReceived (JID from, String sessionID, String invitationID, String version, String description) |
void | startSharingProjects (JID user) |
void | invite (JID toInvite, String description) |
void | invite (Collection< JID > jidsToInvite, String description) |
void | addResourcesToSession (Map< IProject, List< IResource >> projectResourcesMapping) |
void | incomingProjectReceived (JID from, List< ProjectNegotiationData > projectInfos, String processID) |
void | projectAdded (String projectID) |
void | sessionStarting (ISarosSession sarosSession) |
void | sessionStarted (ISarosSession sarosSession) |
void | postOutgoingInvitationCompleted (IProgressMonitor monitor, User newUser) |
Interface for starting and stopping a DPP session. It also offers support for monitoring the life-cycle of a session.
void de.fu_berlin.inf.dpp.session.ISarosSessionManager.addResourcesToSession | ( | Map< IProject, List< IResource >> | projectResourcesMapping | ) |
Adds project resources to an existing session.
projectResourcesMapping |
Implemented in de.fu_berlin.inf.dpp.project.SarosSessionManager, and de.fu_berlin.inf.dpp.core.project.SarosSessionManager.
void de.fu_berlin.inf.dpp.session.ISarosSessionManager.addSarosSessionListener | ( | ISarosSessionListener | listener | ) |
Add the given session listener.
listener | the listener that is to be added. |
Implemented in de.fu_berlin.inf.dpp.project.SarosSessionManager, and de.fu_berlin.inf.dpp.core.project.SarosSessionManager.
ISarosSession de.fu_berlin.inf.dpp.session.ISarosSessionManager.getSarosSession | ( | ) |
null
if there is no active session. Implemented in de.fu_berlin.inf.dpp.project.SarosSessionManager, and de.fu_berlin.inf.dpp.core.project.SarosSessionManager.
void de.fu_berlin.inf.dpp.session.ISarosSessionManager.incomingProjectReceived | ( | JID | from, |
List< ProjectNegotiationData > | projectInfos, | ||
String | processID | ||
) |
This method is called when a new project was added to the session
from | The one who added the project. |
projectInfos | what projects where added (FileList, projectName etc.) see: ProjectNegotiationData |
processID | ID of the exchanging process |
Implemented in de.fu_berlin.inf.dpp.project.SarosSessionManager, and de.fu_berlin.inf.dpp.core.project.SarosSessionManager.
void de.fu_berlin.inf.dpp.session.ISarosSessionManager.invitationReceived | ( | JID | from, |
String | sessionID, | ||
String | invitationID, | ||
String | version, | ||
String | description | ||
) |
Handles the negotiation process for a received invitation.
from | the sender of this invitation |
sessionID | the unique session ID of the inviter side |
invitationID | a unique identifier for the negotiation process |
version | remote Saros version of the inviter side |
description | what this session invitation is about |
Implemented in de.fu_berlin.inf.dpp.project.SarosSessionManager, and de.fu_berlin.inf.dpp.core.project.SarosSessionManager.
void de.fu_berlin.inf.dpp.session.ISarosSessionManager.invite | ( | JID | toInvite, |
String | description | ||
) |
Invites a user to a running session. Does nothing if no session is running, the user is already part of the session or is currently in the invitation process.
toInvite | the JID of the user that is to be invited. |
Implemented in de.fu_berlin.inf.dpp.project.SarosSessionManager, and de.fu_berlin.inf.dpp.core.project.SarosSessionManager.
void de.fu_berlin.inf.dpp.session.ISarosSessionManager.invite | ( | Collection< JID > | jidsToInvite, |
String | description | ||
) |
Invites users to the shared project.
jidsToInvite | the JIDs of the users that should be invited. |
Implemented in de.fu_berlin.inf.dpp.project.SarosSessionManager, and de.fu_berlin.inf.dpp.core.project.SarosSessionManager.
ISarosSession de.fu_berlin.inf.dpp.session.ISarosSessionManager.joinSession | ( | final String | id, |
JID | host, | ||
String | clientNickname, | ||
String | hostNickname, | ||
int | clientColor, | ||
int | hostColor | ||
) |
void de.fu_berlin.inf.dpp.session.ISarosSessionManager.postOutgoingInvitationCompleted | ( | IProgressMonitor | monitor, |
User | newUser | ||
) |
Call this on the host after the invitation was accepted and has been completed.
Implemented in de.fu_berlin.inf.dpp.project.SarosSessionManager, and de.fu_berlin.inf.dpp.core.project.SarosSessionManager.
void de.fu_berlin.inf.dpp.session.ISarosSessionManager.projectAdded | ( | String | projectID | ) |
Call this when a new project was added.
projectID | TODO |
Implemented in de.fu_berlin.inf.dpp.project.SarosSessionManager, and de.fu_berlin.inf.dpp.core.project.SarosSessionManager.
void de.fu_berlin.inf.dpp.session.ISarosSessionManager.removeSarosSessionListener | ( | ISarosSessionListener | listener | ) |
Removes the given session listener.
listener | the listener that is to be removed. |
Implemented in de.fu_berlin.inf.dpp.project.SarosSessionManager, and de.fu_berlin.inf.dpp.core.project.SarosSessionManager.
void de.fu_berlin.inf.dpp.session.ISarosSessionManager.sessionStarted | ( | ISarosSession | sarosSession | ) |
Call this after a ISarosSession has been started.
Implemented in de.fu_berlin.inf.dpp.project.SarosSessionManager, and de.fu_berlin.inf.dpp.core.project.SarosSessionManager.
void de.fu_berlin.inf.dpp.session.ISarosSessionManager.sessionStarting | ( | ISarosSession | sarosSession | ) |
Call this before a ISarosSession is started.
Implemented in de.fu_berlin.inf.dpp.project.SarosSessionManager, and de.fu_berlin.inf.dpp.core.project.SarosSessionManager.
void de.fu_berlin.inf.dpp.session.ISarosSessionManager.startSession | ( | Map< IProject, List< IResource >> | projectResources | ) |
Starts a new Saros session with the local user as only participant.
projectResources | the local Eclipse project resources which should become shared. |
void de.fu_berlin.inf.dpp.session.ISarosSessionManager.startSharingProjects | ( | JID | user | ) |
Will start sharing all projects of the current session with a participant. This should be called after a the invitation to a session was completed successfully.
user | JID of session participant to share projects with |
Implemented in de.fu_berlin.inf.dpp.project.SarosSessionManager, and de.fu_berlin.inf.dpp.core.project.SarosSessionManager.
void de.fu_berlin.inf.dpp.session.ISarosSessionManager.stopSarosSession | ( | ) |
Leaves the currently active session. If the local user is the host, this will close the session for everybody.
Has no effect if there is no open session.
Implemented in de.fu_berlin.inf.dpp.project.SarosSessionManager, and de.fu_berlin.inf.dpp.core.project.SarosSessionManager.