EMU/Protocol

Revision as of 08:13, 15 June 2006 by Manus (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
EMUs: Eiffel Multi Users

Messages

Messages are encapsulated within objects that are being transmitted over the network. All messages inherit from EMU_MESSAGE.

Client

  • login
version
projectname
username
password
  • update_request
wants to receive new files
  • unlock_request
wants to edit a code chunk
  • upload_chunk
upload an edited chunk
  • relock_request
wants to end locking session
  • lock_status_request
get information about all classes
  • online_status_request
get information about online users
  • logout
informs about a logout of the client

Server

  • login_accepted
  • login_denied
  • update
class files
  • unlock_request_granted
checks status
sets status
  • unlock_request_denied
status information
  • lock_status
send status information of all classes
  • online_status
send status of users online
  • server_down
send information about server down
  • send_message
send a message to all clients


Server-Administration

The administration tool is meant to maintain and control the server.

  • admin_login
admin_name
admin_password
  • admin_cmd
command to be executed? or attribute indicating which command should be executed?


Project-Administration

There are two ways of administrating an emu-project:

1. using the New EMU Project Wizard (create)

2. using the EMU Project Settings dialog (customize)

All messages inherit from EMU_PROJECT_MESSAGE, which has an attribute "project_name".

to server

  • PROJECT_CREATE
project_password
  • PROJECT_DELETE
project_password
  • PROJECT_ADD_USER
project_password
user_name
user_password
  • PROJECT_REMOVE_USER
project_password
user_name
  • PROJECT_CLASS_LIST_REQUEST
project_password
  • PROJECT_USER_LIST_REQUEST
project_password
  • PROJECT_CLASS_UNLOCK_REQUEST
project_password
class_name

from server

  • PROJECT_ERROR
error_code
error_msg
  • PROJECT_OK
ok_code
ok_msg
  • PROJECT_CLASS_LIST
class_list
  • PROJECT_USER_LIST
user_list