Difference between revisions of "EMU/Protocol"

m (Client)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
[[Category:Projects]]
 +
[[Image:emu_logo_03.png|right|frame| EMUs: Eiffel Multi Users]]
 +
 
===Messages===
 
===Messages===
 
Messages are encapsulated within objects that are being transmitted over the network.
 
Messages are encapsulated within objects that are being transmitted over the network.
 +
All messages inherit from EMU_MESSAGE.
  
 
====Client====
 
====Client====
login
+
* login
version
+
version
projectname
+
projectname
username
+
username
password
+
password
  
update_request
+
* update_request
wants to receive new files
+
wants to receive new files
  
unlock_request
+
* unlock_request
wants to edit a code chunk
+
wants to edit a code chunk
  
upload_chunk
+
* upload_chunk
upload an edited chunk
+
upload an edited chunk
  
relock_request
+
* relock_request
wants to end locking session
+
wants to end locking session
  
lock_status_request
+
* lock_status_request
get information about all classes
+
get information about all classes
  
online_status_request
+
* online_status_request
get information about online users
+
get information about online users
  
logout
+
* logout
informs about a logout of the client
+
informs about a logout of the client
  
 
====Server====
 
====Server====
login_accepted
+
* 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
  
login_denied
+
* PROJECT_CLASS_LIST_REQUEST
 +
project_password
  
update
+
* PROJECT_USER_LIST_REQUEST
class files
+
project_password
  
unlock_request_granted
+
* PROJECT_CLASS_UNLOCK_REQUEST
checks status
+
project_password
sets status
+
class_name
  
unlock_request_denied
+
'''from server'''
status information
+
  
lock_status
+
* PROJECT_ERROR
send status information of all classes
+
error_code
 +
error_msg
  
online_status
+
* PROJECT_OK
send status of users online
+
ok_code
 +
ok_msg
  
server_down
+
* PROJECT_CLASS_LIST
send information about server down
+
class_list
  
send_message
+
* PROJECT_USER_LIST
send a message to all clients
+
user_list

Latest revision as of 07:13, 15 June 2006

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