Many, many API updates

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2176 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
DarkWyrm
2002-12-07 21:39:48 +00:00
parent 9e159bcf9a
commit d5d7a2437a
11 changed files with 580 additions and 161 deletions
+154 -16
View File
@@ -82,21 +82,21 @@ Decorator * instantiate_decorator(Layer *owner, uint32 wflags, uint32 wlook)</P>
</P>
<P class="Body" style="margin: 0px"><span class="OBOS-Function-Def">AppServer(void)</span><span style="font-size: 16pt"></span></P>
<P class="Body" style="margin: 0px"><BR>
Create the message and input ports</P>
<P class="Body" style="margin: 0px">Create any necessary semaphores for regulating the 3 main threads</P>
<P class="Body" style="margin: 0px">Initialize all member variables</P>
<P class="Body" style="margin: 0px">Allocate the application BList</P>
<P class="Body" style="margin: 0px">Read in and process all configuration data</P>
<P class="Body" style="margin: 0px">Initialize the desktop</P>
<P class="Body" style="margin: 0px">Spawn the Picasso and Poller threads</P>
1) Create the message and input ports</P>
<P class="Body" style="margin: 0px">2) Create any necessary semaphores for regulating the 3 main threads</P>
<P class="Body" style="margin: 0px">3) Initialize all member variables</P>
<P class="Body" style="margin: 0px">4) Allocate the application BList</P>
<P class="Body" style="margin: 0px">5) Read in and process all configuration data</P>
<P class="Body" style="margin: 0px">6) Initialize the desktop</P>
<P class="Body" style="margin: 0px">7) Spawn the Picasso and Poller threads</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">~AppServer(void)</span></P>
<P class="Body" style="margin: 0px"><BR>
Shut down the desktop</P>
<P class="Body" style="margin: 0px">Empty and delete the application list</P>
<P class="Body" style="margin: 0px">Wait for Picasso and Poller to exit</P>
<P class="Body" style="margin: 0px">Free any allocated heap space</P>
1) Shut down the desktop</P>
<P class="Body" style="margin: 0px">2) Empty and delete the application list</P>
<P class="Body" style="margin: 0px">3) Wait for Picasso and Poller to exit</P>
<P class="Body" style="margin: 0px">4) Free any allocated heap space</P>
<P class="Body" style="margin: 0px"><BR>
<BR>
<span class="OBOS-Function-Def">void MainLoop(void)</span></P>
@@ -123,7 +123,7 @@ Attached Data:</P>
<P class="Body" style="margin: 0px"><BR>
</P>
<P class="Body" style="text-align: center; margin: 0px"></P>
<TABLE WIDTH=573 HEIGHT=88 BORDER=1 CELLPADDING=1 CELLSPACING=2>
<TABLE WIDTH=573 HEIGHT=110 BORDER=1 CELLPADDING=1 CELLSPACING=2>
<TR>
<TD WIDTH=112 HEIGHT=32>
<P class="Body" style="margin: 0px">port_id reply_port</P>
@@ -140,6 +140,14 @@ Attached Data:</P>
<P class="Body" style="margin: 0px">message port for the requesting BApplication</P>
</TD>
</TR>
<TR>
<TD WIDTH=112 HEIGHT=17>
<P class="Body" style="margin: 0px">int16 sig_length</P>
</TD>
<TD WIDTH=318 HEIGHT=17>
<P class="Body" style="margin: 0px">length of the following application signature</P>
</TD>
</TR>
<TR>
<TD WIDTH=112 HEIGHT=17>
<P class="Body" style="margin: 0px">const char *signature</P>
@@ -525,8 +533,48 @@ Attached Data:</P>
<P class="Body" style="margin: 0px"><BR>
</P>
<P class="Body" style="text-align: center; margin: 0px"></P>
<TABLE HEIGHT=0 BORDER=0 CELLPADDING=1 CELLSPACING=2>
</TABLE>
<TABLE WIDTH=573 HEIGHT=113 BORDER=1 CELLPADDING=1 CELLSPACING=2>
<TR>
<TD WIDTH=112 HEIGHT=17>
<P class="Body" style="margin: 0px">int64 when</P>
</TD>
<TD WIDTH=318 HEIGHT=17>
<P class="Body" style="margin: 0px">event time in seconds since 1/1/70</P>
</TD>
</TR>
<TR>
<TD WIDTH=112 HEIGHT=17>
<P class="Body" style="margin: 0px">int32 rawcode</P>
</TD>
<TD WIDTH=318 HEIGHT=17>
<P class="Body" style="margin: 0px">code for the physical key pressed</P>
</TD>
</TR>
<TR>
<TD WIDTH=112 HEIGHT=17>
<P class="Body" style="margin: 0px">int32 modifiers</P>
</TD>
<TD WIDTH=318 HEIGHT=17>
<P class="Body" style="margin: 0px">flags signifying the states of the modifier keys</P>
</TD>
</TR>
<TR>
<TD WIDTH=112 HEIGHT=17>
<P class="Body" style="margin: 0px">int8 state_count</P>
</TD>
<TD WIDTH=318 HEIGHT=17>
<P class="Body" style="margin: 0px">number of bytes to follow containing the state of all keys</P>
</TD>
</TR>
<TR>
<TD WIDTH=112 HEIGHT=17>
<P class="Body" style="margin: 0px">int8 *states</P>
</TD>
<TD WIDTH=318 HEIGHT=17>
<P class="Body" style="margin: 0px">array of the state of all keys at the time of the event</P>
</TD>
</TR>
</TABLE>
<P class="Body" style="text-align: center; margin: 0px"><BR>
</P>
<P class="Body" style="margin: 0px"><BR>
@@ -542,7 +590,51 @@ B_UNMAPPED_KEY_UP:</P>
Attached Data:</P>
<P class="Body" style="margin: 0px"><BR>
</P>
<P class="Body" style="text-align: center; margin: 0px">?</P>
<P class="Body" style="text-align: center; margin: 0px"></P>
<TABLE WIDTH=573 HEIGHT=113 BORDER=1 CELLPADDING=1 CELLSPACING=2>
<TR>
<TD WIDTH=112 HEIGHT=17>
<P class="Body" style="margin: 0px">int64 when</P>
</TD>
<TD WIDTH=318 HEIGHT=17>
<P class="Body" style="margin: 0px">event time in seconds since 1/1/70</P>
</TD>
</TR>
<TR>
<TD WIDTH=112 HEIGHT=17>
<P class="Body" style="margin: 0px">int32 rawcode</P>
</TD>
<TD WIDTH=318 HEIGHT=17>
<P class="Body" style="margin: 0px">code for the physical key pressed</P>
</TD>
</TR>
<TR>
<TD WIDTH=112 HEIGHT=17>
<P class="Body" style="margin: 0px">int32 modifiers</P>
</TD>
<TD WIDTH=318 HEIGHT=17>
<P class="Body" style="margin: 0px">flags signifying the states of the modifier keys</P>
</TD>
</TR>
<TR>
<TD WIDTH=112 HEIGHT=17>
<P class="Body" style="margin: 0px">int8 state_count</P>
</TD>
<TD WIDTH=318 HEIGHT=17>
<P class="Body" style="margin: 0px">number of bytes to follow containing the state of all keys</P>
</TD>
</TR>
<TR>
<TD WIDTH=112 HEIGHT=17>
<P class="Body" style="margin: 0px">int8 *states</P>
</TD>
<TD WIDTH=318 HEIGHT=17>
<P class="Body" style="margin: 0px">array of the state of all keys at the time of the event</P>
</TD>
</TR>
</TABLE>
<P class="Body" style="text-align: center; margin: 0px"><BR>
</P>
<P class="Body" style="margin: 0px"><BR>
1) Acquire the active application lock</P>
<P class="Body" style="margin: 0px">2) Create a PortLink instance, target the active ServerApp's sender port, set the opcode to B_UNMAPPED_KEY_UP, attach the buffer <span style="font-style: italic">en masse</span>, and send it to the BApplication.</P>
@@ -557,11 +649,57 @@ Attached Data:</P>
Attached Data:</P>
<P class="Body" style="margin: 0px"><BR>
</P>
<P class="Body" style="text-align: center; margin: 0px">?</P>
<P class="Body" style="text-align: center; margin: 0px"></P>
<TABLE WIDTH=573 HEIGHT=113 BORDER=1 CELLPADDING=1 CELLSPACING=2>
<TR>
<TD WIDTH=112 HEIGHT=17>
<P class="Body" style="margin: 0px">int64 when</P>
</TD>
<TD WIDTH=318 HEIGHT=17>
<P class="Body" style="margin: 0px">event time in seconds since 1/1/70</P>
</TD>
</TR>
<TR>
<TD WIDTH=112 HEIGHT=17>
<P class="Body" style="margin: 0px">int32 modifiers</P>
</TD>
<TD WIDTH=318 HEIGHT=17>
<P class="Body" style="margin: 0px">flags signifying the states of the modifier keys</P>
</TD>
</TR>
<TR>
<TD WIDTH=112 HEIGHT=17>
<P class="Body" style="margin: 0px">int32 old_modifiers</P>
</TD>
<TD WIDTH=318 HEIGHT=17>
<P class="Body" style="margin: 0px">former states of the modifier keys</P>
</TD>
</TR>
<TR>
<TD WIDTH=112 HEIGHT=17>
<P class="Body" style="margin: 0px">int8 state_count</P>
</TD>
<TD WIDTH=318 HEIGHT=17>
<P class="Body" style="margin: 0px">number of bytes to follow containing the state of all keys</P>
</TD>
</TR>
<TR>
<TD WIDTH=112 HEIGHT=17>
<P class="Body" style="margin: 0px">int8 *states</P>
</TD>
<TD WIDTH=318 HEIGHT=17>
<P class="Body" style="margin: 0px">array of the state of all keys at the time of the event</P>
</TD>
</TR>
</TABLE>
<P class="Body" style="text-align: center; margin: 0px"><BR>
</P>
<P class="Body" style="margin: 0px"><BR>
1) Acquire the active application lock</P>
<P class="Body" style="margin: 0px">2) Create a PortLink instance, target the active ServerApp's sender port, set the opcode to B_MODIFIERS_CHANGED, attach the buffer <span style="font-style: italic">en masse</span>, and send it to the BApplication.</P>
<P class="Body" style="margin: 0px">3) Release the active application lock</P>
<DIV class="layer" id="Layer 1">
</DIV>
</DIV>
</BODY>
</HTML>