Difference between revisions of "EMU/Protocol"
(8 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. |
+ | 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 |
Latest revision as of 07:13, 15 June 2006
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