Get test_app_server to run again

* We should have the buildbots compile this to make sure it still works
* I had to split two ServerApp methods to a searate C++ file to link
them in libtestappserver.so
* some fixes related to the switch to PM and better hybrid support in
jam rules; moving of MIME stuff from registrar to storage kit, merge of
Locale Kit and ICU in libbe, and a few more.
* Modified the test_app_server hwinterface and rdef file so it is not a
background app, and the window isn't floating. Otherwise, hiding the
window would leave you without a way to recover it.
This commit is contained in:
Adrien Destugues
2014-01-22 11:12:22 +01:00
parent 86d7e28306
commit c2dcc4d500
9 changed files with 170 additions and 53 deletions
+12 -8
View File
@@ -56,18 +56,22 @@ SetSupportedPlatformsForTarget libbe_test.so : libbe_test ;
SetVersionScript libbe_test.so : libbe_test_versions ;
UsePrivateHeaders storage mime ;
SharedLibrary libbe_test.so :
:
<libbe!$(HAIKU_ARCH)>app_kit.o
<libbe!$(HAIKU_ARCH)>interface_kit.o
<libbe!$(HAIKU_ARCH)>locale_kit.o
<libbe!$(HAIKU_ARCH)>storage_kit.o
<libbe!$(HAIKU_ARCH)>support_kit.o
<libbe!$(HAIKU_PACKAGING_ARCH)>app_kit.o
<libbe!$(HAIKU_PACKAGING_ARCH)>interface_kit.o
<libbe!$(HAIKU_PACKAGING_ARCH)>locale_kit.o
<libbe!$(HAIKU_PACKAGING_ARCH)>storage_kit.o
<libbe!$(HAIKU_PACKAGING_ARCH)>support_kit.o
libicon.a
libagg.a
[ MultiArchDefaultGristFiles libstorage_kit_mime.a ]
$(TARGET_LIBSTDC++)
[ MultiArchDefaultGristFiles libicon.a ]
[ MultiArchDefaultGristFiles libagg.a ]
$(TARGET_LIBSTDC++) [ BuildFeatureAttribute icu : libraries ]
;
SEARCH_SOURCE += [ FDirName $(SUBDIR) interface ] ;
+3
View File
@@ -4,6 +4,9 @@ SetSubDirSupportedPlatforms haiku libbe_test ;
UsePrivateHeaders app shared storage ;
# for libbe_test
UsePublicHeaders [ FDirName add-ons registrar ] ;
local architectureObject ;
for architectureObject in [ MultiArchSubDirSetup ] {
on $(architectureObject) {
+1
View File
@@ -77,6 +77,7 @@ Server app_server :
ScreenConfigurations.cpp
ScreenManager.cpp
ServerApp.cpp
ServerAppStub.cpp
ServerBitmap.cpp
ServerCursor.cpp
ServerFont.cpp
-30
View File
@@ -284,21 +284,6 @@ ServerApp::Activate(bool value)
}
/*! \brief Send a message to the ServerApp's BApplication
\param message The message to send
*/
void
ServerApp::SendMessageToClient(BMessage* message) const
{
status_t status = fHandlerMessenger.SendMessage(message, (BHandler*)NULL,
100000);
if (status != B_OK) {
syslog(LOG_ERR, "app %s send to client failed: %s\n", Signature(),
strerror(status));
}
}
void
ServerApp::SetCurrentCursor(ServerCursor* cursor)
{
@@ -487,21 +472,6 @@ ServerApp::RemovePicture(ServerPicture* picture)
}
/*! Called from the ClientMemoryAllocator whenever a server area could be
deleted.
A message is then sent to the client telling it that it can delete its
client area, too.
*/
void
ServerApp::NotifyDeleteClientArea(area_id serverArea)
{
BMessage notify(kMsgDeleteServerMemoryArea);
notify.AddInt32("server area", serverArea);
SendMessageToClient(&notify);
}
// #pragma mark - private methods
+57
View File
@@ -0,0 +1,57 @@
/*
* Copyright 2001-2013, Haiku.
* Distributed under the terms of the MIT License.
*
* Authors:
* DarkWyrm <bpmagic@columbus.rr.com>
* Adrian Oanca <adioanca@cotty.iren.ro>
* Stephan Aßmus <superstippi@gmx.de>
* Stefano Ceccherini (burton666@libero.it)
* Axel Dörfler, axeld@pinc-software.de
* Jérôme Duval, jerome.duval@free.fr
* Andrej Spielmann, <andrej.spielmann@seh.ox.ac.uk>
* Philippe Saint-Pierre, stpere@gmail.com
* Wim van der Meer, <WPJvanderMeer@gmail.com>
*/
#include "ServerApp.h"
#include <syslog.h>
#include <ServerProtocol.h>
/* These methods are split to a separate compilation unit to allow splitting
* the test_app_server and libtestappserver.so on a convenient boundary.
*/
/*! Called from the ClientMemoryAllocator whenever a server area could be
deleted.
A message is then sent to the client telling it that it can delete its
client area, too.
*/
void
ServerApp::NotifyDeleteClientArea(area_id serverArea)
{
BMessage notify(kMsgDeleteServerMemoryArea);
notify.AddInt32("server area", serverArea);
SendMessageToClient(&notify);
}
/*! \brief Send a message to the ServerApp's BApplication
\param message The message to send
*/
void
ServerApp::SendMessageToClient(BMessage* message) const
{
status_t status = fHandlerMessenger.SendMessage(message, (BHandler*)NULL,
100000);
if (status != B_OK) {
syslog(LOG_ERR, "app %s send to client failed: %s\n", Signature(),
strerror(status));
}
}
@@ -223,7 +223,7 @@ DWindow::DWindow(BRect frame, DWindowHWInterface* interface,
DWindowBuffer* buffer)
:
BWindow(frame, "Haiku App Server", B_TITLED_WINDOW_LOOK,
B_FLOATING_ALL_WINDOW_FEEL,
B_NORMAL_WINDOW_FEEL,
B_NOT_ZOOMABLE | B_NOT_RESIZABLE | B_NOT_MOVABLE),
fHWInterface(interface),
fBuffer(buffer)
+86
View File
@@ -0,0 +1,86 @@
/*
* app_server.rdef
*/
resource app_signature "application/x-vnd.Haiku-app-server";
resource app_flags B_EXCLUSIVE_LAUNCH ;
resource app_version {
major = 1,
middle = 0,
minor = 0,
variety = B_APPV_ALPHA,
internal = 0,
short_info = "test_app_server",
long_info = "test_app_server ©2004-2014 Haiku Inc."
};
resource(0, "info") #'VICN' array {
$"6E636966090500040054020006023BF30E382DD2BB75033F220A49642A46D5CC"
$"00227AFFFF0025E5020006023A56A43629D9BB9B013FE5A94A9B3E32FBB50000"
$"0081FF0909B7020106023C80000000000000003A400049C00048C000000530D1"
$"FF67B5FF020006023AACD8B8A7473AAA713CB009472EA94A5B710067B5FFFF3B"
$"79F602000602392514B71E8838D8A53ADE9E49A9DC4ADF2C00050EC5FF062FE3"
$"020106043B40000000000000003B4000486000465B85003787FF551B76FFFF03"
$"1D8CDA00008102010602376000000000000000B7600048600046400000FFFFFF"
$"FF3787FF0C0A07444A406044604E565156584F4E4A0204564ACAB74AC6504A4C"
$"C5ED4CC4B74CC7225655C65055CAB75560C5ED60C72260C4B70A0C424D423535"
$"302A362A392E3C2E47264C2650405E4A544A500A0A3855383C2A362A39B897BE"
$"432E50264C2650405E40590A044059405E4A544A500A043855424D4235383C0A"
$"044A50424D3855C180C8210A0338554059C180C8210A03264C2E502E470A0435"
$"302A36383C423502043622BDF722B990222C2CB7C7B5942CB9FB3636B99036BD"
$"F736402C40B9FB40B594020433B53DBB50B53DB9D3B53DB93A29B939B5D7B93A"
$"B75433B7EEB9D4B7EEBB50B7EEBBEA29BBEAB754BBEAB5D70C0A01020001000A"
$"0001021001178400040A020103000A030104000A030105000A060106000A0501"
$"07000A050108000A040109000A00010A1001178400040A07010A000A08010B00"
};
resource(1, "idea") #'VICN' array {
$"6E63696605020102023DC0000000000000003D80004A00004A40007D01000044"
$"FF0100000003010000020116043B73F1366FD3B526223A3B22497CE64B43AE70"
$"F2A38ED4E1FF59020106033DC0000000000000003DC00049000048000031FFFF"
$"FFD5FFE500FFFFC800020106033DC0000000000000003DC00049000048000000"
$"FFE6A5FFFFBF00E2FFBB03070204402052202E202040202E205240602E605260"
$"60406052602E0405FE0148534858485848CAB0405EC18E5EBDF15E385838CAB0"
$"3858530405FE014B4B4B4D4B4D4BC6D24056C22956BD5656354D35C6D2354D4B"
$"0005444D444DC56BC42F563856C0D4C883B7C14022C49622BAE9222A382AB7C1"
$"2AC0D43C4DBA14C42F3C4D08024050404202043C3C3CBF713CBCDE4036BED836"
$"C0A736443C44BCDE44BF714042C0A742BED8420203344A344ABBEAC4533C4DBD"
$"00C4B83C4D344B374D344B0B0A000100023EE0000000000000003C8000484000"
$"4AC0000A0101011001178400040A020101000A010202031001178400040A0301"
$"02000A030103000A0400000A0401041001178422040A0401051001178422040A"
$"010106000A01010602C000000000000000004000004C0000000000"
};
resource(2, "warn") #'VICN' array {
$"6E636966060500020006023B5F8C3892CABB1F6A3E0BF0492A4E47706700FFF4"
$"9EFFFFBD30020006023B3049396B0ABA90833C646E4A101543299500FFFFFFFF"
$"FFF28902000602B7465D385FF3BBBFC4BA95C24A5F424B291400E07900FFFFF2"
$"8902000602395E1E32DB49B6921A3D07D74A57904908D600ED9406FFFCB23D04"
$"0174090A0B3E5E445E465C4A5E585E605456504C504B51485046500A062E262E"
$"423E494643462636220A042E262E423E493E2B0A042E263E2B462636220A043E"
$"2B3E49464346260A062E492E543E5C4654464936430A042E492E543E5C3E500A"
$"042E493E50464936430A043E503E5C46544649070A050100000A000105100117"
$"8400040A030107000A0001011001178400040A01020206000A020103000A0402"
$"040800"
};
resource(3, "stop") #'VICN' array {
$"6E636966070500040177020106043BA6660000000000003BA6664899994AF000"
$"00FFFFFF3FFF3930FFBF0000CF800000020106043BA6660000000000003BA666"
$"4899994AF00000FF756E4CD50F05FFBF0000CF8000000200060239F3803A4863"
$"BE14543D99654A2E00465D3700FF6159FFE4000002000602371CFF350C19BC16"
$"873E221B4A4C844710AB00800000FFA00404020006023B00000000000000003C"
$"800049000000000000FFC6C0FFFF7575090A0657605F5857544856445A485E02"
$"043C54C0CB54BB8454305A30C8CA30CB6D3C60BB8460C0CB60485A48CB6D48C8"
$"CA02043848BEC348BA5C482E522EC4B82EC91F385CBA5C5CBEC35C425242C91F"
$"42C4B802053848364CBA5C482E522EC4B8B895C91F385CBA5C5CBEC45C425242"
$"C91F4054364F3A51364F02033848BEC348364C364F364F3A514252405442C4B8"
$"0A032A28354B3C2D0A0435222A283C2D46260A043C2D354B3D4346260A053522"
$"2A28354B3D434626080A01020001000A0001021001178400040A020103000A03"
$"0104000A0001081001178400040A040105000A050107000A06010600"
};
+7 -4
View File
@@ -75,6 +75,8 @@ SharedLibrary libhwinterfaceimpl.so :
: libhwinterface.so
;
# These files are shared between the test_app_server and the libhwintreface, so
# they can talk together.
SharedLibrary libtestappserver.so :
Angle.cpp
ClientMemoryAllocator.cpp
@@ -98,6 +100,7 @@ SharedLibrary libtestappserver.so :
MultiLocker.cpp
Overlay.cpp
RGBColor.cpp
ServerAppStub.cpp
ServerBitmap.cpp
ServerCursor.cpp
ServerFont.cpp
@@ -114,7 +117,7 @@ SharedLibrary libtestappserver.so :
[ BuildFeatureAttribute freetype : library ]
;
AddResources test_app_server : app_server.rdef ;
AddResources test_app_server : test_app_server.rdef ;
Server test_app_server :
# Misc. Sources
@@ -138,7 +141,6 @@ Server test_app_server :
AppServer.cpp
Desktop.cpp
ServerApp.cpp
ServerWindow.cpp
@@ -150,9 +152,9 @@ Server test_app_server :
drawing_support.cpp
MallocBuffer.cpp
DesktopSettings.cpp
VirtualScreen.cpp
BitmapHWInterface.cpp
DesktopSettings.cpp
DrawingContext.cpp
OffscreenServerWindow.cpp
OffscreenWindow.cpp
RegionPool.cpp
@@ -160,6 +162,7 @@ Server test_app_server :
ScreenConfigurations.cpp
ServerPicture.cpp
View.cpp
VirtualScreen.cpp
Window.cpp
WindowList.cpp
Workspace.cpp
+3 -10
View File
@@ -89,8 +89,6 @@ Server test_registrar
RecentApps.cpp
RecentEntries.cpp
Registrar.cpp
RegistrarThread.cpp
RegistrarThreadManager.cpp
RosterAppInfo.cpp
RosterSettingsCharStream.cpp
ShutdownProcess.cpp
@@ -100,20 +98,15 @@ Server test_registrar
WatchingService.cpp
# mime
AssociatedTypes.cpp
CreateAppMetaMimeThread.cpp
Database.cpp
InstalledTypes.cpp
MimeSnifferAddon.cpp
MimeSnifferAddonManager.cpp
MimeUpdateThread.cpp
SnifferRules.cpp
Supertype.cpp
SupportingApps.cpp
RegistrarThread.cpp
RegistrarThreadManager.cpp
UpdateMimeInfoThread.cpp
R5Compatibility.cpp
:
libstorage_kit_mime.a
be localestub $(TARGET_LIBSTDC++)
:
registrar.rdef