Tracker: MimeTypeList style fixes

This commit is contained in:
John Scipione 2014-06-20 18:34:13 -04:00
parent 603e1a2cf2
commit cc334f72b3
2 changed files with 25 additions and 10 deletions

View File

@ -40,7 +40,8 @@ All rights reserved.
ShortMimeInfo::ShortMimeInfo(const BMimeType &mimeType)
: fCommonMimeType(true)
:
fCommonMimeType(true)
{
fPrivateName = mimeType.Type();
@ -60,22 +61,26 @@ ShortMimeInfo::ShortMimeInfo(const BMimeType &mimeType)
ShortMimeInfo::ShortMimeInfo(const char* shortDescription)
: fShortDescription(shortDescription)
:
fShortDescription(shortDescription)
{
}
const char*
ShortMimeInfo::InternalName() const
{
return fPrivateName.String();
}
const char*
ShortMimeInfo::ShortDescription() const
{
return fShortDescription.String();
}
int
ShortMimeInfo::CompareShortDescription(const ShortMimeInfo* a,
const ShortMimeInfo* b)
@ -83,6 +88,7 @@ ShortMimeInfo::CompareShortDescription(const ShortMimeInfo* a,
return a->fShortDescription.ICompare(b->fShortDescription);
}
bool
ShortMimeInfo::IsCommonMimeType() const
{
@ -90,25 +96,28 @@ ShortMimeInfo::IsCommonMimeType() const
}
// #pragma mark -
// #pragma mark - MimeTypeList
MimeTypeList::MimeTypeList()
: fMimeList(100, true),
fCommonMimeList(30, false),
fLock("mimeListLock")
:
fMimeList(100, true),
fCommonMimeList(30, false),
fLock("mimeListLock")
{
fLock.Lock();
Thread::Launch(NewMemberFunctionObject(&MimeTypeList::Build, this),
B_NORMAL_PRIORITY);
}
static int
MatchOneShortDescription(const ShortMimeInfo* a, const ShortMimeInfo* b)
{
return strcasecmp(a->ShortDescription(), b->ShortDescription());
}
const ShortMimeInfo*
MimeTypeList::FindMimeType(const char* shortDescription) const
{
@ -119,6 +128,7 @@ MimeTypeList::FindMimeType(const char* shortDescription) const
return result;
}
const ShortMimeInfo*
MimeTypeList::EachCommonType(bool (*func)(const ShortMimeInfo*, void*),
void* state) const
@ -129,9 +139,11 @@ MimeTypeList::EachCommonType(bool (*func)(const ShortMimeInfo*, void*),
if ((func)(fCommonMimeList.ItemAt(index), state))
return fCommonMimeList.ItemAt(index);
}
return NULL;
}
void
MimeTypeList::Build()
{
@ -158,6 +170,7 @@ MimeTypeList::Build()
if (mimeInfo->IsCommonMimeType())
fCommonMimeList.AddItem(mimeInfo);
}
fCommonMimeList.SortItems(&ShortMimeInfo::CompareShortDescription);
fLock.Unlock();
}

View File

@ -31,12 +31,13 @@ of Be Incorporated in the United States and other countries. Other brand product
names are registered trademarks or trademarks of their respective holders.
All rights reserved.
*/
#ifndef __MIME_TYPE_LIST__
#define __MIME_TYPE_LIST__
#ifndef _MIME_TYPE_LIST_H
#define _MIME_TYPE_LIST_H
#include <ObjectList.h>
#include <String.h>
#include "ObjectList.h"
#include "Utilities.h"
@ -90,4 +91,5 @@ private:
using namespace BPrivate;
#endif // __MIME_TYPE_LIST__
#endif // _MIME_TYPE_LIST_H