From d7526269d7111f8bbb555fd14530759495a57a23 Mon Sep 17 00:00:00 2001 From: Tyler Dauwalder Date: Wed, 28 Aug 2002 23:59:57 +0000 Subject: [PATCH] Added B_REG_MIME_GET_SUPPORTING_APPS functionality git-svn-id: file:///srv/svn/repos/haiku/trunk/current@926 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/servers/registrar/MIMEManager.cpp | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/src/servers/registrar/MIMEManager.cpp b/src/servers/registrar/MIMEManager.cpp index a795b71e88..488619f923 100644 --- a/src/servers/registrar/MIMEManager.cpp +++ b/src/servers/registrar/MIMEManager.cpp @@ -116,13 +116,21 @@ MIMEManager::MessageReceived(BMessage *message) break; } - case B_REG_MIME_UNSUPPORT_TYPES: + case B_REG_MIME_GET_SUPPORTING_APPS: { - // TODO: implement -printf("MIMEMan: B_REG_MIME_UNSUPPORT_TYPES\n"); + BMessage apps; + const char *type; + err = message->FindString("type", &type); + if (!err) + err = fDatabase.GetSupportingApps(type, &apps); + + reply.what = B_REG_RESULT; + reply.AddInt32("result", err); + reply.AddMessage("signatures", &apps); + message->SendReply(&reply, this); break; } - + default: printf("MIMEMan: msg->what == %.4s\n", (char*)&(message->what)); BLooper::MessageReceived(message); @@ -225,9 +233,12 @@ MIMEManager::HandleSetParam(BMessage *message) case B_REG_MIME_SUPPORTED_TYPES: { BMessage types; + bool fullSync = true; err = message->FindMessage("types", &types); if (!err) - err = fDatabase.SetSupportedTypes(type, &types); + err = message->FindBool("full sync", &fullSync); + if (!err) + err = fDatabase.SetSupportedTypes(type, &types, fullSync); break; }