//---------------------------------------------------------------------- // This software is part of the OpenBeOS distribution and is covered // by the OpenBeOS license. //--------------------------------------------------------------------- /*! \file MimeUpdateThread.h MimeUpdateThread interface declaration */ #ifndef _MIME_UPDATE_THREAD_H #define _MIME_UPDATE_THREAD_H #include #include #include #include #include struct entry_ref; class BMessage; namespace BPrivate { namespace Storage { namespace Mime { class MimeUpdateThread : public RegistrarThread { public: MimeUpdateThread(const char *name, int32 priority, BMessenger managerMessenger, const entry_ref *root, bool recursive, bool force, BMessage *replyee); virtual ~MimeUpdateThread(); virtual status_t InitCheck(); protected: virtual status_t ThreadFunction(); virtual status_t DoMimeUpdate(const entry_ref *entry, bool *entryIsDir) = 0; const entry_ref fRoot; const bool fRecursive; const bool fForce; BMessage *fReplyee; bool DeviceSupportsAttributes(dev_t device); private: std::list< std::pair > fAttributeSupportList; status_t UpdateEntry(const entry_ref *ref); status_t fStatus; }; } // namespace Mime } // namespace Storage } // namespace BPrivate #endif // _MIME_UPDATE_THREAD_H