hrev46736 adds 1 changeset to branch 'master' old head: 86d7e28306626756a5d31a3903b7d123500ac6eb new head: c2dcc4d500f4f71e9ff117ec221b93bd29d0631e overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=c2dcc4d+%5E86d7e28 ---------------------------------------------------------------------------- c2dcc4d: 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. [ Adrien Destugues <pulkomandy@xxxxxxxxxxxxx> ] ---------------------------------------------------------------------------- Revision: hrev46736 Commit: c2dcc4d500f4f71e9ff117ec221b93bd29d0631e URL: http://cgit.haiku-os.org/haiku/commit/?id=c2dcc4d Author: Adrien Destugues <pulkomandy@xxxxxxxxxxxxx> Date: Wed Jan 22 10:01:26 2014 UTC ---------------------------------------------------------------------------- 9 files changed, 170 insertions(+), 53 deletions(-) src/kits/Jamfile | 20 +++-- src/kits/storage/mime/Jamfile | 3 + src/servers/app/Jamfile | 1 + src/servers/app/ServerApp.cpp | 30 -------- src/servers/app/ServerAppStub.cpp | 57 ++++++++++++++ src/servers/app/drawing/DWindowHWInterface.cpp | 2 +- src/servers/app/test_app_server.rdef | 86 ++++++++++++++++++++++ src/tests/servers/app/Jamfile | 11 ++- src/tests/servers/registrar/Jamfile | 13 +--- ---------------------------------------------------------------------------- diff --git a/src/kits/Jamfile b/src/kits/Jamfile index be96653..015e83a 100644 --- a/src/kits/Jamfile +++ b/src/kits/Jamfile @@ -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 + + [ MultiArchDefaultGristFiles libstorage_kit_mime.a ] - libicon.a - libagg.a + [ MultiArchDefaultGristFiles libicon.a ] + [ MultiArchDefaultGristFiles libagg.a ] - $(TARGET_LIBSTDC++) + $(TARGET_LIBSTDC++) [ BuildFeatureAttribute icu : libraries ] ; SEARCH_SOURCE += [ FDirName $(SUBDIR) interface ] ; diff --git a/src/kits/storage/mime/Jamfile b/src/kits/storage/mime/Jamfile index 37de22d..8d8386c 100644 --- a/src/kits/storage/mime/Jamfile +++ b/src/kits/storage/mime/Jamfile @@ -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) { diff --git a/src/servers/app/Jamfile b/src/servers/app/Jamfile index 3e66e52..ee6a6d2 100644 --- a/src/servers/app/Jamfile +++ b/src/servers/app/Jamfile @@ -77,6 +77,7 @@ Server app_server : ScreenConfigurations.cpp ScreenManager.cpp ServerApp.cpp + ServerAppStub.cpp ServerBitmap.cpp ServerCursor.cpp ServerFont.cpp diff --git a/src/servers/app/ServerApp.cpp b/src/servers/app/ServerApp.cpp index 8c0122a..9bece0f 100644 --- a/src/servers/app/ServerApp.cpp +++ b/src/servers/app/ServerApp.cpp @@ -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(¬ify); -} - - // #pragma mark - private methods diff --git a/src/servers/app/ServerAppStub.cpp b/src/servers/app/ServerAppStub.cpp new file mode 100644 index 0000000..f2da792 --- /dev/null +++ b/src/servers/app/ServerAppStub.cpp @@ -0,0 +1,57 @@ +/* + * Copyright 2001-2013, Haiku. + * Distributed under the terms of the MIT License. + * + * Authors: + * DarkWyrm <bpmagic@xxxxxxxxxxxxxxx> + * Adrian Oanca <adioanca@xxxxxxxxxxxxx> + * Stephan Aßmus <superstippi@xxxxxx> + * Stefano Ceccherini (burton666@xxxxxxxxx) + * Axel Dörfler, axeld@xxxxxxxxxxxxxxxx + * Jérôme Duval, jerome.duval@xxxxxxx + * Andrej Spielmann, <andrej.spielmann@xxxxxxxxxxxx> + * Philippe Saint-Pierre, stpere@xxxxxxxxx + * Wim van der Meer, <WPJvanderMeer@xxxxxxxxx> + */ + + +#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(¬ify); +} + + +/*! \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)); + } +} diff --git a/src/servers/app/drawing/DWindowHWInterface.cpp b/src/servers/app/drawing/DWindowHWInterface.cpp index 38b6c8a..7403940 100644 --- a/src/servers/app/drawing/DWindowHWInterface.cpp +++ b/src/servers/app/drawing/DWindowHWInterface.cpp @@ -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) diff --git a/src/servers/app/test_app_server.rdef b/src/servers/app/test_app_server.rdef new file mode 100644 index 0000000..29a0c4c --- /dev/null +++ b/src/servers/app/test_app_server.rdef @@ -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" +}; + diff --git a/src/tests/servers/app/Jamfile b/src/tests/servers/app/Jamfile index 1aeb21b..ca9d932 100644 --- a/src/tests/servers/app/Jamfile +++ b/src/tests/servers/app/Jamfile @@ -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 diff --git a/src/tests/servers/registrar/Jamfile b/src/tests/servers/registrar/Jamfile index fbcbf22..9df60f2 100644 --- a/src/tests/servers/registrar/Jamfile +++ b/src/tests/servers/registrar/Jamfile @@ -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