www.pudn.com > MP3CORD.rar > downloadformat.h
/*____________________________________________________________________________ FreeAmp - The Free MP3 Player Portions Copyright (C) 1999 EMusic.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. $Id: downloadformat.h,v 1.2 1999/10/19 07:12:45 elrod Exp $ ____________________________________________________________________________*/ #ifndef INCLUDED_DOWNLOAD_FORMAT_H_ #define INCLUDED_DOWNLOAD_FORMAT_H_ #include#include using namespace std; #include #include "config.h" #include "errors.h" #include "facontext.h" #include "plmevent.h" class DownloadFormatInfo; class DownloadItem; class DownloadFormat { public: DownloadFormat(FAContext *context) {} virtual ~DownloadFormat() {} virtual Error GetSupportedFormats(DownloadFormatInfo* info, uint32 index) = 0; virtual Error ReadDownloadFile(const char* url, vector * items) = 0; }; typedef DownloadFormat* DownloadFormatRef; class DownloadFormatInfo { public: DownloadFormatInfo() {} virtual ~DownloadFormatInfo() {} Error SetExtension(const char* extension) { m_extension = extension; return kError_NoErr; } const char* GetExtension() const { return m_extension.c_str(); } Error SetDescription(const char* description) { m_description = description; return kError_NoErr; } const char* GetDescription() { return m_description.c_str(); } Error SetRef(DownloadFormatRef ref) { m_ref = ref; return kError_NoErr; } const DownloadFormatRef GetRef() const { return m_ref; } private: string m_extension; string m_description; DownloadFormatRef m_ref; }; #endif // _DOWNLOAD_FORMAT_H_