en:docs:os2:pm:status

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
en:docs:os2:pm:status [2019/03/02 10:01] valeriusen:docs:os2:pm:status [2019/03/02 10:07] (current) valerius
Line 3: Line 3:
 Originaly osFree PM was taken from FreePM project by Evgeny Kotsuba. Since last update by Evgen  many time is gone. So we forked FreePM project. We still name it as FreePM, but, if Evgen will continue to work with it's original project, we'll need to rename it. Originaly osFree PM was taken from FreePM project by Evgeny Kotsuba. Since last update by Evgen  many time is gone. So we forked FreePM project. We still name it as FreePM, but, if Evgen will continue to work with it's original project, we'll need to rename it.
  
-osFree PM consist of client and server parts. Server works on local host and handles hardware events and manage client windows and sessions. Clients works on local and/or remote  host and draws on server screen. Client can user standard controls of server or provide it's own controls.+osFree PM consist of client and server parts. Server works on local host and handles hardware events and manage client windows and sessions. Clients work on local and/or remote  host and draw on server screen. Client can use user standard controls of server or provide it's own controls.
  
-At the present time FreePM mostly prints out messages about which messages it receives in the server and in the client part (the server and client is in separate exe files). The communication between the server and the client goes through a named pipe with a certain [[en:docs:pm:pm_protocol|protocol]]. Such as a command token and following data.+At the present time FreePM mostly prints out messages about which messages it receives in the server and in the client part (the server and client is in separate exe files). The communication between the server and the client goes through a named pipe with a certain [[en:docs:pm:pm_protocol|protocol]]. Such as a command token (opcode) and following data.
  
-The core part of the server is in “FreePM/src_s/Fs_main.cpp” in the function “Fs_ClientWork”. There is quite a bit with code which deals with synchronization, Evgen has done a lot of work with that part. +The core part of the server is in “FreePM/src_s/Fs_main.cpp” in the function “Fs_ClientWork”. There is quite a bit of code which deals with synchronization, Evgen has done a lot of work with that part. 
  
-The server draws to framebuffer and handles hardware events via driver DLL. +The server draws to framebuffer and handles hardware events via driver DLL. 
  
-The PMDRIVER.DLL driver creates a PM window (with some graphics art) and monitors the messages it gets from that. If you move the mouse cursor above it or change the size, the server prints out stuff about that. The window is created in the server file: “FreePM/src_s/Fs_PMdev.cpp”.+The PMWINDOW.DLL driver creates a PM window (with some graphics art) and monitors the messages it gets from that. If you move the mouse cursor above it or change the size, the server prints out stuff about that. The window is created in the server file: “FreePM/src_s/Fs_PMdev.cpp”.
  
-Client program uses set of dlls with PM*.DLL mask. PMCLIENT.DLL contains communication code of client application with server.+Client program uses set of DLL'with PM*.DLL mask. PMCLIENT.DLL contains communication code of client application with server.
  
-Many calls of client sent to the server through the named pipe. For example “WinInitialize” is in “FreePM/src_c/FreePM_win.cpp” which sets up the connection to the server and get'the HAB (Anchor Block Handler) for this client.+Many calls of client sent to the server through the named pipe. For example “WinInitialize” is in “FreePM/src_c/FreePM_win.cpp” which sets up the connection to the server and gets the HAB (Anchor Block Handle) for this client.
  
-First client automaticaly tries to connect to remote server. If no succes, then it tries to connect to local server. If no success then it starts local copy of server and connects to it.+First, the client automatically tries to connect to remote server. If no success, then it tries to connect to local server. If no successthen it starts local copy of server and connects to it.
  
 ~~DISCUSSION~~ ~~DISCUSSION~~