Start the messaging service. Due to missing kernel functionality the
initialization still fails. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10998 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -15,6 +15,7 @@
|
|||||||
#include "EventQueue.h"
|
#include "EventQueue.h"
|
||||||
#include "MessageEvent.h"
|
#include "MessageEvent.h"
|
||||||
#include "MessageRunnerManager.h"
|
#include "MessageRunnerManager.h"
|
||||||
|
#include "MessagingService.h"
|
||||||
#include "MIMEManager.h"
|
#include "MIMEManager.h"
|
||||||
#include "Registrar.h"
|
#include "Registrar.h"
|
||||||
#include "TRoster.h"
|
#include "TRoster.h"
|
||||||
@@ -46,7 +47,8 @@ Registrar::Registrar(status_t *error)
|
|||||||
fMIMEManager(NULL),
|
fMIMEManager(NULL),
|
||||||
fEventQueue(NULL),
|
fEventQueue(NULL),
|
||||||
fMessageRunnerManager(NULL),
|
fMessageRunnerManager(NULL),
|
||||||
fSanityEvent(NULL)
|
fSanityEvent(NULL),
|
||||||
|
fMessagingService(NULL)
|
||||||
{
|
{
|
||||||
FUNCTION_START();
|
FUNCTION_START();
|
||||||
}
|
}
|
||||||
@@ -62,6 +64,7 @@ Registrar::~Registrar()
|
|||||||
FUNCTION_START();
|
FUNCTION_START();
|
||||||
Lock();
|
Lock();
|
||||||
fEventQueue->Die();
|
fEventQueue->Die();
|
||||||
|
delete fMessagingService;
|
||||||
delete fMessageRunnerManager;
|
delete fMessageRunnerManager;
|
||||||
delete fEventQueue;
|
delete fEventQueue;
|
||||||
delete fSanityEvent;
|
delete fSanityEvent;
|
||||||
@@ -212,26 +215,44 @@ void
|
|||||||
Registrar::ReadyToRun()
|
Registrar::ReadyToRun()
|
||||||
{
|
{
|
||||||
FUNCTION_START();
|
FUNCTION_START();
|
||||||
|
|
||||||
// create event queue
|
// create event queue
|
||||||
fEventQueue = new EventQueue(kEventQueueName);
|
fEventQueue = new EventQueue(kEventQueueName);
|
||||||
|
|
||||||
// create roster
|
// create roster
|
||||||
fRoster = new TRoster;
|
fRoster = new TRoster;
|
||||||
fRoster->Init();
|
fRoster->Init();
|
||||||
|
|
||||||
// create clipboard handler
|
// create clipboard handler
|
||||||
fClipboardHandler = new ClipboardHandler;
|
fClipboardHandler = new ClipboardHandler;
|
||||||
AddHandler(fClipboardHandler);
|
AddHandler(fClipboardHandler);
|
||||||
|
|
||||||
// create MIME manager
|
// create MIME manager
|
||||||
fMIMEManager = new MIMEManager;
|
fMIMEManager = new MIMEManager;
|
||||||
fMIMEManager->Run();
|
fMIMEManager->Run();
|
||||||
|
|
||||||
// create message runner manager
|
// create message runner manager
|
||||||
fMessageRunnerManager = new MessageRunnerManager(fEventQueue);
|
fMessageRunnerManager = new MessageRunnerManager(fEventQueue);
|
||||||
|
|
||||||
// init the global be_roster
|
// init the global be_roster
|
||||||
BRoster::Private().SetTo(be_app_messenger, BMessenger(NULL, fMIMEManager));
|
BRoster::Private().SetTo(be_app_messenger, BMessenger(NULL, fMIMEManager));
|
||||||
|
|
||||||
|
// create the messaging service
|
||||||
|
fMessagingService = new MessagingService;
|
||||||
|
status_t error = fMessagingService->Init();
|
||||||
|
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
|
// create and schedule the sanity message event
|
||||||
fSanityEvent = new MessageEvent(system_time() + kRosterSanityEventInterval,
|
fSanityEvent = new MessageEvent(system_time() + kRosterSanityEventInterval,
|
||||||
this, B_REG_ROSTER_SANITY_EVENT);
|
this, B_REG_ROSTER_SANITY_EVENT);
|
||||||
fSanityEvent->SetAutoDelete(false);
|
fSanityEvent->SetAutoDelete(false);
|
||||||
fEventQueue->AddEvent(fSanityEvent);
|
fEventQueue->AddEvent(fSanityEvent);
|
||||||
|
|
||||||
FUNCTION_END();
|
FUNCTION_END();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ class DiskDeviceManager;
|
|||||||
class EventQueue;
|
class EventQueue;
|
||||||
class MessageEvent;
|
class MessageEvent;
|
||||||
class MessageRunnerManager;
|
class MessageRunnerManager;
|
||||||
|
class MessagingService;
|
||||||
class MIMEManager;
|
class MIMEManager;
|
||||||
|
|
||||||
namespace BPrivate {
|
namespace BPrivate {
|
||||||
@@ -59,6 +60,7 @@ private:
|
|||||||
EventQueue *fEventQueue;
|
EventQueue *fEventQueue;
|
||||||
MessageRunnerManager *fMessageRunnerManager;
|
MessageRunnerManager *fMessageRunnerManager;
|
||||||
MessageEvent *fSanityEvent;
|
MessageEvent *fSanityEvent;
|
||||||
|
MessagingService *fMessagingService;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // REGISTRAR_H
|
#endif // REGISTRAR_H
|
||||||
|
|||||||
Reference in New Issue
Block a user