From 35d70f9ecaf41b1ff612077301a50f2b187a0729 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Tue, 25 Jan 2005 15:06:42 +0000 Subject: [PATCH] The MessagingService is now a singleton. Added creation of the MessageDeliverer. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11031 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/registrar/Registrar.cpp | 17 ++++++++++------- src/servers/registrar/Registrar.h | 2 -- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/servers/registrar/Registrar.cpp b/src/servers/registrar/Registrar.cpp index a204bf4bdb..cbab9cb76c 100644 --- a/src/servers/registrar/Registrar.cpp +++ b/src/servers/registrar/Registrar.cpp @@ -13,6 +13,7 @@ #include "ClipboardHandler.h" #include "EventQueue.h" +#include "MessageDeliverer.h" #include "MessageEvent.h" #include "MessageRunnerManager.h" #include "MessagingService.h" @@ -47,8 +48,7 @@ Registrar::Registrar(status_t *error) fMIMEManager(NULL), fEventQueue(NULL), fMessageRunnerManager(NULL), - fSanityEvent(NULL), - fMessagingService(NULL) + fSanityEvent(NULL) { FUNCTION_START(); } @@ -64,7 +64,6 @@ Registrar::~Registrar() FUNCTION_START(); Lock(); fEventQueue->Die(); - delete fMessagingService; delete fMessageRunnerManager; delete fEventQueue; delete fSanityEvent; @@ -216,6 +215,13 @@ Registrar::ReadyToRun() { FUNCTION_START(); + // create message deliverer + status_t error = MessageDeliverer::CreateDefault(); + if (error != B_OK) { + FATAL(("Registrar::ReadyToRun(): Failed to create the message " + "deliverer: %s\n", strerror(error))); + } + // create event queue fEventQueue = new EventQueue(kEventQueueName); @@ -238,13 +244,10 @@ Registrar::ReadyToRun() BRoster::Private().SetTo(be_app_messenger, BMessenger(NULL, fMIMEManager)); // create the messaging service - fMessagingService = new MessagingService; - status_t error = fMessagingService->Init(); + error = MessagingService::CreateDefault(); if (error != B_OK) { ERROR(("Registrar::ReadyToRun(): Failed to init messaging service " "(that's by design when running under R5): %s\n", strerror(error))); - delete fMessagingService; - fMessagingService = NULL; } // create and schedule the sanity message event diff --git a/src/servers/registrar/Registrar.h b/src/servers/registrar/Registrar.h index 1a12b1ac3f..b78a18f4f1 100644 --- a/src/servers/registrar/Registrar.h +++ b/src/servers/registrar/Registrar.h @@ -33,7 +33,6 @@ class DiskDeviceManager; class EventQueue; class MessageEvent; class MessageRunnerManager; -class MessagingService; class MIMEManager; namespace BPrivate { @@ -60,7 +59,6 @@ private: EventQueue *fEventQueue; MessageRunnerManager *fMessageRunnerManager; MessageEvent *fSanityEvent; - MessagingService *fMessagingService; }; #endif // REGISTRAR_H