From 85835e41862b98714845fd143a4df5b2c7369dd9 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Fri, 22 Nov 2013 11:14:19 +0100 Subject: [PATCH] registrar: Move more classes to libstorage_kit_mime.a Move MimeSnifferAddon, MimeSnifferAddonManager, and TextSnifferAddon to libstorage_kit_mime.a, so we can reuse them. --- .../storage}/mime/MimeSnifferAddonManager.h | 14 +++++----- .../private/storage/mime}/TextSnifferAddon.h | 23 ++++++++++++---- src/kits/storage/mime/Jamfile | 3 +++ .../storage}/mime/MimeSnifferAddon.cpp | 8 +++--- .../storage}/mime/MimeSnifferAddonManager.cpp | 26 +++++++++++++------ .../storage/mime}/TextSnifferAddon.cpp | 17 +++++++++--- .../registrar => kits/storage/mime}/names.h | 0 src/servers/registrar/Jamfile | 3 --- src/servers/registrar/MIMEManager.cpp | 8 +++--- 9 files changed, 71 insertions(+), 31 deletions(-) rename {src/servers/registrar => headers/private/storage}/mime/MimeSnifferAddonManager.h (79%) rename {src/servers/registrar => headers/private/storage/mime}/TextSnifferAddon.h (53%) rename src/{servers/registrar => kits/storage}/mime/MimeSnifferAddon.cpp (73%) rename src/{servers/registrar => kits/storage}/mime/MimeSnifferAddonManager.cpp (88%) rename src/{servers/registrar => kits/storage/mime}/TextSnifferAddon.cpp (98%) rename src/{servers/registrar => kits/storage/mime}/names.h (100%) diff --git a/src/servers/registrar/mime/MimeSnifferAddonManager.h b/headers/private/storage/mime/MimeSnifferAddonManager.h similarity index 79% rename from src/servers/registrar/mime/MimeSnifferAddonManager.h rename to headers/private/storage/mime/MimeSnifferAddonManager.h index ccf016efb2..de062518fc 100644 --- a/src/servers/registrar/mime/MimeSnifferAddonManager.h +++ b/headers/private/storage/mime/MimeSnifferAddonManager.h @@ -1,13 +1,15 @@ /* - * Copyright 2006, Ingo Weinhold . - * All rights reserved. Distributed under the terms of the MIT License. + * Copyright 2006-2013, Ingo Weinhold, ingo_weinhold@gmx.de. + * Distributed under the terms of the MIT License. */ -#ifndef MIME_SNIFFER_ADDON_MANAGER_H -#define MIME_SNIFFER_ADDON_MANAGER_H +#ifndef _MINE_MIME_SNIFFER_ADDON_MANAGER_H +#define _MINE_MIME_SNIFFER_ADDON_MANAGER_H + #include #include + #include @@ -15,6 +17,7 @@ class BFile; class BMimeSnifferAddon; class BMimeType; + namespace BPrivate { namespace Storage { namespace Mime { @@ -59,7 +62,6 @@ private: } // namespace Storage } // namespace BPrivate -using BPrivate::Storage::Mime::MimeSnifferAddonManager; -#endif // MIME_SNIFFER_ADDON_MANAGER_H +#endif // _MINE_MIME_SNIFFER_ADDON_MANAGER_H diff --git a/src/servers/registrar/TextSnifferAddon.h b/headers/private/storage/mime/TextSnifferAddon.h similarity index 53% rename from src/servers/registrar/TextSnifferAddon.h rename to headers/private/storage/mime/TextSnifferAddon.h index 300f8089fa..4a0adb8cd2 100644 --- a/src/servers/registrar/TextSnifferAddon.h +++ b/headers/private/storage/mime/TextSnifferAddon.h @@ -1,12 +1,19 @@ /* - * Copyright 2006, Ingo Weinhold . - * All rights reserved. Distributed under the terms of the MIT License. + * Copyright 2006-2013, Ingo Weinhold, ingo_weinhold@gmx.de. + * Distributed under the terms of the MIT License. */ -#ifndef TEXT_SNIFFER_ADDON_H -#define TEXT_SNIFFER_ADDON_H +#ifndef _MIME_TEXT_SNIFFER_ADDON_H +#define _MIME_TEXT_SNIFFER_ADDON_H + #include + +namespace BPrivate { +namespace Storage { +namespace Mime { + + class TextSnifferAddon : public BMimeSnifferAddon { public: TextSnifferAddon(); @@ -21,4 +28,10 @@ public: BMimeType* type); }; -#endif // TEXT_SNIFFER_ADDON_H + +} // namespace Mime +} // namespace Storage +} // namespace BPrivate + + +#endif // _MIME_TEXT_SNIFFER_ADDON_H diff --git a/src/kits/storage/mime/Jamfile b/src/kits/storage/mime/Jamfile index a09277dbe1..37de22d779 100644 --- a/src/kits/storage/mime/Jamfile +++ b/src/kits/storage/mime/Jamfile @@ -20,9 +20,12 @@ for architectureObject in [ MultiArchSubDirSetup ] { MimeEntryProcessor.cpp MimeInfoUpdater.cpp MimeSniffer.cpp + MimeSnifferAddon.cpp + MimeSnifferAddonManager.cpp SnifferRules.cpp Supertype.cpp SupportingApps.cpp + TextSnifferAddon.cpp ; } } diff --git a/src/servers/registrar/mime/MimeSnifferAddon.cpp b/src/kits/storage/mime/MimeSnifferAddon.cpp similarity index 73% rename from src/servers/registrar/mime/MimeSnifferAddon.cpp rename to src/kits/storage/mime/MimeSnifferAddon.cpp index 1460bbda11..0a53ebceb2 100644 --- a/src/servers/registrar/mime/MimeSnifferAddon.cpp +++ b/src/kits/storage/mime/MimeSnifferAddon.cpp @@ -1,9 +1,11 @@ /* - * Copyright 2006, Ingo Weinhold . - * All rights reserved. Distributed under the terms of the MIT License. + * Copyright 2006-2013, Ingo Weinhold, ingo_weinhold@gmx.de. + * Distributed under the terms of the MIT License. */ -#include "MimeSnifferAddon.h" + +#include + // constructor BMimeSnifferAddon::BMimeSnifferAddon() diff --git a/src/servers/registrar/mime/MimeSnifferAddonManager.cpp b/src/kits/storage/mime/MimeSnifferAddonManager.cpp similarity index 88% rename from src/servers/registrar/mime/MimeSnifferAddonManager.cpp rename to src/kits/storage/mime/MimeSnifferAddonManager.cpp index 5f3d433ba0..58272fc8b7 100644 --- a/src/servers/registrar/mime/MimeSnifferAddonManager.cpp +++ b/src/kits/storage/mime/MimeSnifferAddonManager.cpp @@ -1,18 +1,22 @@ /* - * Copyright 2006, Ingo Weinhold . - * All rights reserved. Distributed under the terms of the MIT License. + * Copyright 2006-2013, Ingo Weinhold, ingo_weinhold@gmx.de. + * Distributed under the terms of the MIT License. */ -#include "MimeSnifferAddonManager.h" + +#include #include #include #include -#include "MimeSnifferAddon.h" +#include -using std::nothrow; + +namespace BPrivate { +namespace Storage { +namespace Mime { // singleton instance @@ -78,7 +82,8 @@ MimeSnifferAddonManager::Default() status_t MimeSnifferAddonManager::CreateDefault() { - MimeSnifferAddonManager* manager = new(nothrow) MimeSnifferAddonManager; + MimeSnifferAddonManager* manager + = new(std::nothrow) MimeSnifferAddonManager; if (!manager) return B_NO_MEMORY; @@ -109,7 +114,7 @@ MimeSnifferAddonManager::AddMimeSnifferAddon(BMimeSnifferAddon* addon) return B_ERROR; // create a reference for the addon - AddonReference* reference = new(nothrow) AddonReference(addon); + AddonReference* reference = new(std::nothrow) AddonReference(addon); if (!reference) return B_NO_MEMORY; @@ -202,7 +207,7 @@ MimeSnifferAddonManager::_GetAddons(AddonReference**& references, int32& count) return B_ERROR; count = fAddons.CountItems(); - references = new(nothrow) AddonReference*[count]; + references = new(std::nothrow) AddonReference*[count]; if (!references) return B_NO_MEMORY; @@ -223,3 +228,8 @@ MimeSnifferAddonManager::_PutAddons(AddonReference** references, int32 count) delete[] references; } + + +} // namespace Mime +} // namespace Storage +} // namespace BPrivate diff --git a/src/servers/registrar/TextSnifferAddon.cpp b/src/kits/storage/mime/TextSnifferAddon.cpp similarity index 98% rename from src/servers/registrar/TextSnifferAddon.cpp rename to src/kits/storage/mime/TextSnifferAddon.cpp index 1773eab161..9120c515cd 100644 --- a/src/servers/registrar/TextSnifferAddon.cpp +++ b/src/kits/storage/mime/TextSnifferAddon.cpp @@ -1,13 +1,19 @@ /* - * Copyright 2006, Ingo Weinhold . - * All rights reserved. Distributed under the terms of the MIT License. + * Copyright 2006-2013, Ingo Weinhold, ingo_weinhold@gmx.de. + * Distributed under the terms of the MIT License. */ -#include "TextSnifferAddon.h" + +#include #include +namespace BPrivate { +namespace Storage { +namespace Mime { + + static int file_ascmagic(const unsigned char *buf, size_t nbytes, BMimeType* mimeType); @@ -686,3 +692,8 @@ from_ebcdic(const unsigned char *buf, size_t nbytes, unsigned char *out) out[i] = ebcdic_to_ascii[buf[i]]; } } + + +} // namespace Mime +} // namespace Storage +} // namespace BPrivate diff --git a/src/servers/registrar/names.h b/src/kits/storage/mime/names.h similarity index 100% rename from src/servers/registrar/names.h rename to src/kits/storage/mime/names.h diff --git a/src/servers/registrar/Jamfile b/src/servers/registrar/Jamfile index bf02ee4dd4..40b34162a0 100644 --- a/src/servers/registrar/Jamfile +++ b/src/servers/registrar/Jamfile @@ -34,15 +34,12 @@ Server registrar RosterAppInfo.cpp RosterSettingsCharStream.cpp ShutdownProcess.cpp - TextSnifferAddon.cpp TRoster.cpp Watcher.cpp WatchingService.cpp # mime CreateAppMetaMimeThread.cpp - MimeSnifferAddon.cpp - MimeSnifferAddonManager.cpp MimeUpdateThread.cpp RegistrarThread.cpp RegistrarThreadManager.cpp diff --git a/src/servers/registrar/MIMEManager.cpp b/src/servers/registrar/MIMEManager.cpp index 89d6ef1021..20214488f9 100644 --- a/src/servers/registrar/MIMEManager.cpp +++ b/src/servers/registrar/MIMEManager.cpp @@ -1,5 +1,5 @@ /* - * Copyright 2002-2009, Haiku Inc. + * Copyright 2002-2013, Haiku Inc. * Distributed under the terms of the MIT License. * * Authors: @@ -23,16 +23,18 @@ #include #include +#include +#include #include "CreateAppMetaMimeThread.h" #include "MessageDeliverer.h" -#include "MimeSnifferAddonManager.h" -#include "TextSnifferAddon.h" #include "UpdateMimeInfoThread.h" using namespace std; using namespace BPrivate; +using BPrivate::Storage::Mime::MimeSnifferAddonManager; +using BPrivate::Storage::Mime::TextSnifferAddon; /*! \class MIMEManager